自動テストの分野での深耕と収穫のトトロフレームワーク

アリによる自動テストフレームワークトトロが金のドレス端子工学実験プラットフォーム技術グループ技術は独立のために、サポートを自動テストフレームワークを開発したアンドロイド、iOSの、HTML5、アプレット、Weex、キューブやその他のモバイルエンドの自動化テストシナリオ。

クラスタ環境でのアリゴールドのドレスのモバイルテストプラットフォームは、オートメーションタスクとすぐにビジネスの中にマルチシーンをサポートするための柔軟性の安定的かつ効率的な操作でできることを確実にするために、トトロは1-2から、0-1から消え、徐々に現在サポートアリのドメインに進化しました表面のグループの最も大規模な使用の一つは、自動テストや自動テスト10+モバイル開発プラットフォームmPaaS外部出力のBU毎日の組み合わせのための最も安定したフレームワークのパフォーマンスは、なります。

この記事では、方法論やソリューション降水要約の数からシェアを拡大​​し、ピット、音と成熟した反復プロセスへの途中にトトロのステップを集中します。

  • トトロC / Sアーキテクチャ設計モデル
  • 全体のリンクの建物の安定性
  • アンドロイドアプリの自動インテリジェントインストール
  • シーン全体の異常なポップ・ガバナンス
  • トトロの重要なマイルストーンと今後の計画

、トトロC / Sアーキテクチャ設計モデル

蟻金のドレスのモバイルテストプラットフォームが最初にAppiumオープンソースソリューションを引用したが、理由は、展開のその複雑さのため、インタフェースが不安定で、マルチリンクサービスを機器を落とし、コミュニティのメンテナンスは、業界の総合的な評価は、同様の枠組みを持って、十分に速く、他の問題ではなかったです一般的な痛みのポイントので、私たちはさまざまなビジネス領域の高速反復更新ソリューションのニーズを満たすために適切な測定クラウドクラスター環境を設計することを決めました。

既存の痛みのポイントに基づいて、我々はできるだけテストリンク上でその不安定性を確保するために、ように可能な限りシンプルな「透明プロジェクト構造」「できるだけ短くリンクを、コールする」と必要性を満たすために設計からトトロを信じています。同時に、異常な状況を考えると、我々はすぐに問題を特定し、特定の自己回復能力を持ってできるようにする必要があります。一般にフレーム三層以上の設計の複数と組み合わせて使用​​する業界は、トトロは、最終的に2層設計C / Sモデルとなりました。

:2層設計コンセプトは、実際のような、トトロに多くの利点をもたらします

  1. 携帯電話側に統合ユニファイドサービスは、PC側を呼び出すために、複雑な削減:限り、クライアント側と携帯電話のリンクとして、あなたはトランジットサービスとリソース管理サービス自体のコマンドセンターを避け、プロセスを自動化するために始めることができます。
  2. 実際のC / Sのアーキテクチャモデルは:両方の速度と安定性自動化されたコール・リンクに近年の急速な反復の実行可能性を確保するために、単純なアーキテクチャモデルの枠組みに加えて、質的に改善されています。

全体のリンクの建設の第二に、安定性

アリのクラウドクラスターオートメーション厳しい要件の顔を測定し、安定性の問題はまだトトロが困難な問題を解決しなければならないとなって、浮上しました。

:のような、そこに例外は任意のノードリンクオートメーションタスクで発生する可能性があるので、安定性は、実際のレベルの数を覆われています。

  • API関数の枠組み自体の安定性 ;
  • サービスの安定性をホスティング
  • デバイスリンクオンライン安定性 ;
  • ネットワークデバイスの安定性 ;
  • ハードウェアハブ安定性

次に、我々は上記の5つの側面から作られたこれらの努力をコール全体のリンクを記載しました。

1.異常包括的なガバナンスプログラム

開発の初期段階でのトトロフレームワークは、定期的なメンテナンスは、それ自体が異常である異常なフレームワークと様々な事業に起因し、自分の欠点に直面して、毎日多くのエネルギーを投資する必要があります。解決するために、独自のフレームワークとビジネス面を促進するように、同時に、異常な問題の様々なタイプは、手動のスクリーニングを必要とします。この結果は、そのコードの問題が終了したことによって発生したため雲のほとんどが仕事を測定し、ということで、テスト開発結果としては十分安定していません。

異常なタスクによって引き起こされる不安定性を向上させるためには、それがビジネスインテリジェント分類を行うことができ、フレーム自体SDKの問題と異常に終了し、我々は最初の例外報告の統計情報のタイプのスタック全体をしました。統計によると、背景はおおよその問題を検出するための「ビジネスロジック層の異常」と「SDK層の例外」に分けることができ、我々は研究開発努力に特別な焦点を置き、自分の問題SDKを排除するのは無理に起因する論理的なフレームワークの異常修理、大量のサービスの異常特定のケースのためのプレゼンテーションにもつながるん今異常な、重い足音層の再試行を、私たちは抽象分類の層を行う、ビジネスロジックが明確に促進し、検出点の状態チェックを追加するためのいくつかのヒントや提案を与える異常として分類されています成功率。

ガバナンス手続きの異常なプロセスでは、我々は、企業がほとんどしかし、SDK層は、いくつかの初期化プロセスを持つことになり、プロセスのユースケースのすべての操作の段階でいくつかのビジネス・ロジックをカプセル化する必要があることを発見し、JUnitの通じユースケースは、ビジネスパッケージいったんアップ実行するか、SDK層インターフェースは実用を呼び出しますいいえ、それはプログラムが不安定になることがあります。したがって、既存のトラフィックよりステータストトロフレームで要求、および問題は、標準化トトロケースライフサイクルの毎日、自己カスタマイズセットで発見された、ビジネスユースケースは、各ノードフックロジックプロセス中に封入することができます。

2.電話ホスティングサービスは、安定性を保証します

実行例中に使用される携帯電話のコアサービス(TotoroUiautomator / TotoroWDA)中トトロフレームワーク、あなたが行うことができ、このシステムは制限によって引き起こされる、より不安定で、サービス等、利用できない、リンクが失敗したでしょうが適切なタイミングであります通常、全体の自動化されたプロセスを保護するために、サービスを再起動します。

  • APIインターフェイスレベル例外分析、フィルタリングサービスの例外は、再起動を開始。そして、フィールドの例を保持または回復することができます。
  • 回転エージェントデーモンプロセス監視サービス、(TotoroWDA用)ダイナミック開始例外サービス。
  • ポート転送はネットワーク検出、誤ったトリガの再起動ロジックを通して、疑似異常解析に失敗しました。

3.電話番号、安定したリンク戦略

電話番号は、問題が直面しなければならないプロセスでオートメーションタスクは、トトロ共同アリは、ハードウェアとソフトウェアのサポートサービスのセットオンラインフルリンクでテスト・プラットフォームをクラウドで呼び出しを落としました。

Ⅰ。回復力は、ソフトウェアのリンクにドロップ

リンクの能力は、リモートWebサービスを介して、コア携帯電話サービスにメッセージを送信する、デバイスがドロップされると、基礎となる通信インタフェースに埋め込まれた端末装置トトロクライアント回復プログラムに統合されたソフトウェアを指し、それが判明したデバイスの所有者権限は、まだ失敗した場合、リンクのusbreset PCの終了となり、携帯電話のADBを再起動します。

通常の状況下では、ほぼ3倍はADBが回復する携帯電話を再起動してください。回復に失敗した個々のケースでは、そこに詳細な情報を報告するためにオンサイトこと、および正常な流れを確保するために、電話の再テスト作業を置き換えるためにchangedevices戦略をトリガします。歴史的な統計に基づいて報告されたデータは、不安定な状態にある古い機器の分析は、多くの場合、ドロップされた場合は、ダウングレードは、リンクが(例えばサル細胞など)の低プール設備やオフライン操作を必要と交換する措置を講じます。

ハードウェアリンクにⅡ。デバイスリンク護衛機能

リンクのハードウェア構成の安定性、大きなテストプラットフォーム曇りは、良質のUSBハブを購入することを選択しました。しかし、実験後、毎日のクラウドプラットフォームは7K +オートメーションタスクや財務レベルmPaaSレベルクラウドのユースケースの安定性に直面するために測定されていても、すべてのエンジニアリングに必要な品質基準を達成することができない市場で入手可能な最高の設備、およびインテリジェント制御の欠如を課題アリモジュール。セットSmartHub、独立した安定した電源モジュールからTECHNICAL端子部ので、Antのインターネット実験研究グループ、自動的にリモート(電圧/電力/リセット、等)を制御することができ、各ポート。次のようにこれまでのところSmartHubすでにフル生産中や使用に入れ、効果は次のとおりです。

ネットワークデバイスの安定性4

ネットワークサービスを提供するために、安定性を設定すると、私たちは、主に以下の側面をしよう:

  • ネットワークは、ネットワークに問題がある場合はすぐにシーンを見つけるために失敗した場合に、例をプロービングのスナップショットと障害検出ポイント。
  • SLMクラウドターミナルサービスマネージャの電話ネットワーク、自動的にリンクして、リセットリンク後に異常をネットワークする能力を持つことができるネットワークを指定します。
  • クラウド・テスト・プラットフォームは、クラスタ環境キャビネット、分離されたネットワークをアップグレードするネットワークの安定性のホットスポットを確保します。(端末クラスタ実験室用のサービスが標準化され安定したモバイルオートメーションサービスを提供するために、ユニットとしてキャビネットシールド)。

ユースケースの成功率を高めるために5.マルチ次元戦略

実際の建物の環境利用の場合、サービス全体の戦略的なポイントを保護するために多くの詳細の安定動作のために必要で、これは主に、いくつかの主要なプログラムのリストです:

  • 今でも頑固な不安定性のために、DeviceChange(交換機)戦略を取ります。
  • システムの制限やリソースのための携帯電話のメモリ、DeviceReboot(携帯電話を再起動します)戦略を使用します。
  • 今でも、例外の指定された型の抽象いくつか、再実行戦略の使用が効果的に成功率を向上させます。
  • 外れ値シーン全体、爪の警報、タイムリーなリリースパッチについて。

自動インテリジェントAndroidのアプリケーションの第三に、インストール

蟻は自動化テスト実行クラスタ環境、自動インテリジェントなアプリケーションのインストールは、最も一般的なシナリオの一つ、しかし、断片化され、インストールプロセスが得られ、各ベンダーのカスタムAndroidのROMには、ポップの多種多様に合わせて必要曇らせます。さらにいくつかのメーカーが必要な状態を記録し、アカウントのパスワードを入力する必要があり、自動インテリジェントなインストールアプリケーションにその結果は、モデルのクラスタ環境の千課題となっています。シナリオ以下の図のポップ・取付部:

1.技術の選択

全サービスがAPKフォームに携帯電話側に設置されるように自動化サービス機能トトロフレームワークは、Uiautomator2にカスタマイズの深さに基づいています。完全に自動化されたインストールプログラムの完全なセットを行うには、トトロAPK年に実装されたサービスを放棄する必要があります。最後に、我々は無料のインストールUiautomator1プログラムは、独立した特別なポップをインストールするために反復更新プロセスとして実装することで直接実行あなたの携帯電話に独立して使用しました。

雲の国内モデルとモデルが軒並み部屋を測定するために、ポップ特別プロ​​ジェクト、道を完全にカバー早期抽象的なポップクリック法則をインストールし、キーワードを見つけ、ページ制御情報をダンプし、適応モデルの緯度を行うには、各タスクは、セキュリティアラームシステムは、開発者が素早く対応機種を発行することができ、失敗した、とUIの変更があります。

そして、最終的にはセットには、インストール・プロセス・ソリューションの最もインテリジェントな連続反復ROMのインストール・ポップポップシーンを処理することができます。

2.インテリジェントな盲点

全体のプロセスはないために、私たちをリードし、ダンプ機能を禁止するインストール・リンクの一部に黒の中産階級とその他の安全性を考慮し、ポップページを防ぐために、論理制御情報、一部のベンダー(華為技術、生体内、OPPOなど)ポップを依存していると、ダンプので、ページ、および判断できないページへの情報は、座標情報にクリックする必要があります。

このシナリオでは、ポップアップボタンを意味することは、いくつかの法律は、モデルとバージョンに基づいて提示されているそのうちのいくつかの制御情報を、ダンプするために、サービスを再起動するためにいくつかの必要がある現れる部屋、ロケーション・エリアの多くの電話調査をインストールしました定期的なUIのスタイル、そしていくつかは、対応するイベントを得るために、特別な電話の操作が必要です。シーンにダンプしないために私たちは、抽象これらの法律さらに分類、拡張機能と互換性のインテリジェントブラインドロジックを、作られます。

3.アルゴリズム補助練習

障害が発生した場合には、まだそれを設定する方法を適応能力を構築すること、そして、法の下でのインテリジェント思慮深い個々のシーン全く死角がないでしょうか?そこで、私たちはAIが賢く情報ページを分析する機能と組み合わせることができるかどうかを検討し、パスが速く、従来のシーンと互換性のあるプログラムから特定のアルゴリズムの結果を提供します。現在、OCRサービス、情報のインテリジェントな分析とトトロインタフェースと連動して、正確な目標は、クリックを得るために、ポップ処理を完了するための能力を調整します。提案されたアルゴリズムの動作は、適応準拠法シーン全体を実行する、直接与えられるように、その後の結合深度アルゴリズム練習、モデルデータのインストールシナリオの使用。

4.クラウドビデオテスト結果

互換性のある、より緯度のシーンの後に存在自動インストールコンポーネントでは、自動インストールルーチンタスクを完了するために、特定の適応能力を持っている、それがメンテナンス状態の非常に低コストになりました。日常のオートメーションタスク内のアプリケーションに加えて、この機能は、以下のインストールの効果で、リモートクラウドテストプラットフォームのレンタル機能に組み込まれています。

第四に、ポップガバナンスのシーン全体

携帯電話のポップの様々なモバイル自動テスト・プロセスは、ユースケースの実行、すべてのタイプとポップ・シーンの顔、ポップ・ガバナンス・プログラム、シーン全体から研究のトトロの枠組みの安定性に影響を与える重要な要因の1つです:

  1. 深改革アンドリュースウォッチャーインタフェース

ポップ例外処理、アンドリュースフレームが与えUiDevice.registerWatcherインタフェーススキームを。しかし、我々は実際の使用は、このインタフェースのコールバックは、自動化されたプロセス制御がコールバックをトリガするための時間を見つけることができないために、より多くの正式な説明は、安定していないことがわかりました。


/**
   * Registers a {@link UiWatcher} to run automatically when the testing framework is unable to
   * find a match using a {@link UiSelector}. See {@link #runWatchers()}
   *
   * @since API Level 16
   */
   
复制代码

マルチシーン感知機構を構築することができるようにするためには、安定したページのコールバック・インターフェース上で聞くことが必要です。UiWatcherが見つかっ関連するソースコードを見た後、あなたは、アクティブなトリガをフックすることができますrunWatchers()そして、私たちは何をする必要があるが、また、ページの変更は、ポップ時に、安定したインターフェイスをトリガーします。

Androidのユーザー補助サービスは、単純にポップがコールバックイベントを変更することができます登録し、バランスの取れた性能をするために、ポップや制御の偶数ページわずかな変化を聞いて、登録することができます。より良い構築するためにこのような安定したポップ・リスナーのコールバックメカニズム。

2.多次元登録されたリスナー

私たちは、ページポップの安定処理するように、ページのUIの変更をリッスンするために、このインタフェースに頼ることができるregisterWatcherインタフェースの安定性を保護するためのコールバックメカニズムを持ちます。ビジネスニーズや日常ユースケースのシナリオと組み合わせることで、トトロのフレームワークは、緯度で次の変更のためになるように、ほぼ全体のガバナンスのポップシーンをページを監視することができます。

  • 登録キーワードコピーライティングモニター
  • コンテンツファジーマッチングをサインアップし、正確な目標制御クリック
  • 登録DESCコピー
  • リソースIDを登録します
  • 登録された宛先制御は、アクションをトリガー

3.機械学習画像検出方式

そして、顔が非ネイティブページ(H5 /アプレット)の制御情報をダンプすることができない、あなたはファッションの機械学習アルゴリズムは、ページがポップアップ表示可能例外に対処するために、ページのUIの構造を分析する能力を使用して結合する必要があります。

制御アルゴリズムのセットからトトロアルゴリズムの研究の学生は、プラットフォームとページのレンダリングから、容量をダンプアプリのアルゴリズムは、非ネイティブのポップシーンの処理を満たすために、元のマップページの生成を制御して撮影することができます。

機械学習の電流容量の解析は、小さなプログラムと毎日のアクセスを上陸に成功しましたが、また、アプリケーションのページ例外タイプ検出で(を含むロードが、失敗した黒と白のスクリーンコントロールなどを遮断)、アプリケーションのポップ-PAGE分析に加えて、迅速なイテレーションにまだありますAlipayの財布、毎日の互換性やその他の重要なビジネスラインは、フォローアップは、AIのエンパワーメントが空の話ではありませんしましょう、行きより多くのビジネスに拡張されます。

第五に、重要なマイルストーンと計画

プロジェクトからのトトロ自動テストフレームワークは、現在3年近くを経ているために、それは急速な反復の期間にまだあります。最新年、クラウド内の共同の努力とアリクラウドプラットフォームの質的改善は、より多くのアリがBUを選択し、プロジェクトの安定性の品質は、モバイル測定ソリューションとして、クラウドの自動化とトトロを測定しました。

  • プランニング

より良い地域とmPaaSモバイルテスト自動化テスト技術、高出力トトロ実験用SDKをサポートするために、我々は改善することができる多くのものがあります。将来的には、我々はに向けて、次のシーンを強制するプラグイン方向、標準化、拡張性の高い、多言語プラットフォーム開発努力を継続します。

  • 減少メンテナンスコストの実施形態を続行
  • パーフェクトマルチスクリプト言語のサポート
  • 文書の標準化、および他のプロジェクト構成ビルド
  • 有効AIの強化、ルート着陸シーンに続けます
  • 開発者コミュニティの構築には、開発者は、より多くのビジネスラインの中に、プロジェクトの事業価値の最大値をサポートして受け入れます

|イベントへの招待:7月27日mPaaS下行アリペイシャロンは見逃すことはない、より多くの支援デモショー、小ストップの研究開発プログラムおよび他のトピックを共有するために、ダイナミックな研究開発、パフォーマンスの最適化と技術専門家を招待します!

今すぐ登録:t.cn/Aijh6opWを

過去の読書

「オープニング|アリゴールドのドレスmPaaSサーバーコアコンポーネントシステムの概要」

「蟻の金のドレスmPaaSサーバーのコアコンポーネント:モバイルネットワークアクセスインフラストラクチャのエンド億の同時解像度で終了します」

「MPaaSコアコンポーネント:モバイル最終製品のための世論分析システムを構築するために宝を支払うためにどのように?"

「MPaaSサーバーのコアコンポーネント:モバイル分析サービスMASのアーキテクチャ分析」

「蟻ゴールドのドレス顔億の同時シーンコンポーネントアーキテクチャ設計」

「アプリのアリペイでの進化の自動ログ収集と分析」

最初の手mPaaS技術の練習乾燥を得るために、私たちに公共の番号をフォロー

QRコード

グループの爪:グループ番号「23124039」によるネイル検索

私たちは〜あなたが参加することを願って

おすすめ

転載: juejin.im/post/5d37d22951882554672e3d7b