Android スマートフォン用の自動テスト ツールとは何ですか?

Android の自動テストを行うツールは数多くありますが、現在主流となっているツールはごく一部なので、それぞれの状況を詳しく説明し、必要に応じてどのツールを使用するかを選択してください。

1. Zezhong MobileRunner
Zezhong MobileRunner は、HarmonyOS、IOS、Android 上のアプリ、アプレット、H5 アプリケーションをサポートする国内の専門的な自動テスト ツールで、7*24 時間の自動回帰テスト、機能テスト、互換性テストを可能にし、テストを簡素化します。 。
 

自然言語はスクリプト ビジネス ロジックを表示し、
スクリプト ステートメントの記録とドラッグによるスクリプトの構成をサポートし、コード作成能力の要件を軽減します。
 

このスクリプトは、Android、Harmony、および IOS 携帯電話をサポートしており、
Web_MR プラットフォームは、Android、Harmony、および IOS 携帯電話用の APP、アプレット、および H5 をテストできます。
 

モバイルデバイスのクラウド管理、ブラウザ経由でデバイスに接続して操作、
ブラウザアクセス経由でデバイスに接続、モバイルデバイスの統合管理を強化します。
 

機能と互換性の自動テストを実行したり、互換性についてパフォーマンス指標を照会したり、
実行プロセス中に CPU、メモリ、トラフィック、FPS、バッテリー温度を取得したりできます。
 

スクリーンショットを自動的に取得し、実行記録を直感的に表示できます。
スクリーンショット コマンドを使用して、実行プロセス中に表示する必要があるページをキャプチャして、ページ UI デザインを確認できます。また、スクリプトの実行が失敗した場合にも、スクリーンショットを使用して問題を特定できます。 。


テスト ケースはパラメータ化でき、ATF とシームレスに統合できる豊富な検証メソッドを備えています。
ビジネス ルールのテストをカバーするパラメータ化により、スクリプト設計の複雑さと単純さが軽減されます。検証ポイントには、データベース検証、正規表現検証が含まれます。


2、アピウム

Appium は現在最も主流のモバイル テスト自動化フレームワークで、Android アプリケーションだけでなく、iOS、ハイブリッド、Web アプリケーションにも適しています。最下位レベルでは Selenium と WebDriver の API を完全に使用するため、以前に Selenium を使用したことがある場合は、追加の学習コストをほとんど発生せずに appium を使用できます。appium は、uiauTomator (API レベル 16 以上) および Seledroid (API レベル 16 未満) を通じて Android をサポートしますが、これら 2 つのフレームワークの具体的な使用方法を知る必要はありません。appium はそれらを統一された使用ルールにパッケージ化しています。

Appium の最大の利点の 1 つは、ほぼすべてのプログラミング言語 (Java、Objective-C、JavaScript、PHP、Ruby、Python、C# など) で Appium スクリプトを作成できることです。つまり、選択は自由です。自分が得意とする最高のプログラミング言語を使用できます。Selenium に精通していれば、驚くことではありませんが、1 日以内に使い始めることができます。

さらに、webdriver は w3c 組織に提出された統一標準であり、そのプロトコルに基づいてさらなる拡張を行うことができます。簡単なコードを見てみましょう。

textFields = driver.find_elements_by_tag_name('textField')assertEqual(textFields[0].get_attribute("value"), "Hello")

3、エアテスト

2つ目におすすめするのは国産のエアテストです。Airtest プロジェクトは NetEase Games によって開始された自動テスト フレームワークであり、このプロジェクトにはいくつかの主要コンポーネントがあります。

Airtest: クロスプラットフォームの画像認識ベースの UI 自動テスト フレームワークで、ゲームやアプリに適しています。サポートされているプラ​​ットフォームには Windows、Android、iOS が含まれます。

Poco: UI コントロール認識に基づいた自動テスト フレームワークです。現在、Android ネイティブ アプリ/iOS ネイティブ アプリ/WeChat アプレット、および主流のゲーム エンジンをサポートしています。poco-sdk を他のエンジンで独自に使用することもできます。

AirtestIDE: Airtest と Poco の関連プラグイン機能が組み込まれたクロスプラットフォーム UI 自動テスト エディター。これを使用すると、コードを書かなくても、Airtest と Poco のコードをすばやく簡単に作成できます。

AirLab:実機自動クラウドテストプラットフォーム、多数の携帯電話機種と互換性テスト、海外クラウド実機互換性テストなどのサービスを提供

民営化携帯電話クラスタ技術ソリューション:ハードウェアからソフトウェアまで、企業内の民営化携帯電話クラスタ向けソリューションを提供

airtestを利用するメリットは、中国語のドキュメントが充実していることと、英語が苦手な学生への最適化をサポートしてくれることです。公式 Web サイトでは、すぐに使い始めるのに役立つビデオ チュートリアルとデモンストレーションも注意深く用意されています。

4、デトックス

このフレームワークは非常に地味ですが、一度使ったらきっと虜になるでしょう。

Detox は非常に強力な JavaScript モバイル テスト フレームワークであり、テスト実行中のオーケストレーションや同期に外部の追加ツールが必要ないため、テストの実行が非常に高速かつ堅牢です。以下の要素を優先する場合は、デトックスを直接選択できます。

JavaScript プログラミング言語を使用する

他のテスト自動化フレームワークよりもデバッグが簡単です。

アプリは React Native で開発されており、デトックスとすぐに統合できます

テスト実行では Appium よりも高速

ドキュメントは比較的理解しやすい

以下は具体的なコードであり、より一般的なコードの記述方法です。

description('HelloDetoxTest', () => { beforeEach(async () => { await device.reloadReactNative(); }); it('ようこそ画面があるはずです', async () => { await Expect(element (by .id('welcome'))).toBeVisible(); }); it('タップ後に hello Rect を表示する必要があります', async () => { await element(by.id('hello_react')).tap () ; await Expect(element(by.text('React!!!'))).toBeVisible(); }); it('クリック後に画面が表示されるはずです', async () => { await element( by.id ( 'detox_button')).tap(); await Expect(element(by.text('Detox!!!'))).toBeVisible(); }); });

5、エスプレッソ

Espresso は、Google によってオープンソース化された新しい Android テスト自動化フレームワークです。Espresso の API は小さく、予測可能で、習得が簡単です。これを使用すると、簡潔で信頼性の高い Android UI テストをすばやく作成できます。これは非常に信頼性が高く、UI スレッドと同期されており、スリープが必要ないため高速です (アプリケーションがアイドル状態の場合、テストは同じミリ秒で実行されます)。また、簡単な構成により、appium に直接統合できます。

おすすめ

転載: blog.csdn.net/spasvo_dr/article/details/132909103