序文
最近、手元のプロジェクトは、基本的な開発を完了し、またそれについて行うことができます最適化は、ライン上の準備が容易になっています。しかし、上司はテスターがアプリケーションは常にいくつかの不可解なバグになります見つけたことを反映しています。
バグが来て、それは聖歌を解決するだろう。この泥棒のバグやファン、時にはあなたは、FUBU福をお願いするものでテイク自由アウトしかし。スイッチテストを強制するために、できるだけ多くのだけ一時的にハードの削減にアプリケーションのバグを行います。最近では、この要約では、慎重にAndroidプラットフォームの下で自動テストを研究するために多くの時間と労力を費やしました。
I.概要
Androidプラットフォーム自動テストは、2つの方向から開始することができます
-
Androidの最後のテスト自動化フレームワーク
-
主要なクラウド・テスト・プラットフォーム
- テンセント才能のテストクラウド・テスト・プラットフォーム
- Huawei社のデベロッパーセンター
- 貫中クラウドテスト
- テスト云测
テストの内容は次のとおりです。
- 互換性テスト:インストール、起動、アンインストール
- 機能テスト:ジェスチャー、機能検証
- 安定性試験:アプリ現象をフラッシュバックする傾向があれば
- シナリオのテスト:実際のネットワークシナリオ、2G、3G、4G、WIFIネットワーク・スイッチをシミュレート
上記は、両方向のAndroidのテスト自動化とテストの具体的な内容、次の話で彼らと長所と短所の違いを説明しています。
-
Androidのテスト自動化フレームワーク
自動テストフレームワークのAndroid側では、適切なテストケースがコードを完了することができ、また、ああ(変換、スクリプトAPE貴重な権利の解放を自動化する、その繰り返しの手動操作して、すべての利用シナリオをカバーしようそれは左利きすることができます)。emmmm、上記の利点は良く見ていません。欠点を言うことはありませんが、心配しないで、欠点は、テスターの高い、それはより一般の全体的なアプリケーションを理解し、把握するテスターのテストがあり、かつので、ほとんどの使用シナリオをカバーするため、また、コード能力要件が、を書きますUIテスト、互換性テストはすべて、限られた携帯電話の後、実行することはできません。 -
主要なクラウドプラットフォームのテスト
クラウド・テスト・プラットフォームを使用する利点は、結局、このに従事する専門家のある、まだ人々がたくさんあるので、あなたのアカウントに多くのものを取ることはありません、他の人が内部のあなたのためのプラットフォームに統合されています。そして、Androidの自動テストフレームワークに関して、主要なクラウド・テスト・プラットフォームは、4.4から7.0に、Huawei社の栄光と携帯電話のシリーズのほとんどの携帯電話版をしている提供し、このようなHuawei社デベロッパーセンターとして、モデルのさまざまなを提供しますそこに、これらの利点を見てその快適ではありません。欠点まあ、実際には、あまりない、ただ「料金」。もちろん、これは、すべての後、人々はまた、あなたが自由に使用することがあれば、食べなければならない、と人々は生きてはならないことを、理解することができます。
第二に、自動テストフレームワーク
2.1 エスプレッソ
エスプレッソは、主にAndroidのアプリのUIテスト自動化のために、オープンソースのAndroidプラットフォーム用のGoogleのAndroidの自動テストフレームワークです。
ここでは単にUIオートメーションテストの下で:UIコンポーネントとの適切な処置であるアプリケーション我々は、我々のテストマシンシミュレーションプロセスを作るために、ユーザーとして、その後、私たちは裸眼のため、これらのインタフェースを必要とし、それらのボタン、結果が正しいことを確認します。
たとえば、ユーザーとして、私たちはネットワーク要求特定のデータ戻り値が正しいかどうかを気にしない、私たちが画面上に表示したい結果を見ることが懸念されます。要素を見つけ、何かを、テストの結果、ユーザー自身として、唯一私が見ることができるものに焦点を当てる:一般的な考え方は、このときそのため、UIテストの自動化を行います。
エスプレッソは、自分の外に、結局、グーグルで、または多くの利点
- Androidの開発者のためのコードを記述するためにJavaを使用して、非常に友好的です
- APIは、拡張のためのオープンも、当然のことながら、非常に小さいです
- かなり速く実行されたエスプレッソテスト(ノーウェイト、睡眠)
- AndroidのメーカーとのGradleサポート
エスプレッソのより多くの例は、突くしてください:https://github.com/vgrec/EspressoExamples
2.2 UI Automatorの
JUnitテストケースUI Automatorのは、異なるプロセス間でそのテストケースを意味し、特別な権限で実行されている、それは開発者に五つの異なるクラスを提供しています:
com.android.uiautomator.core.UiCollection;
com.android.uiautomator.core.UiDevice;
com.android.uiautomator.core.UiObject;
com.android.uiautomator.core.UiScrollable;
com.android.uiautomator.core.UiSelector
しかし、もっと残念なことに、UI Automatorのは、APIのみ16またはより高いレベルのAndroidデバイス上で動作することができ、直接Androidのオブジェクトにアクセスする方法はありません。
2.3 エポック
Appiumは、自動テストフレームワーク「運動」で、場所は、iOSとAndroidのモバイルWebアプリケーションとネイティブ混在学生のための高速なハードウェアサポートです。webdriverをあるセレン経由でiOSとAndroidアプリと対話するために、JSONWireProtocol内部的に使用されます。UI AutomatorのとSeledroidサポートAndroidのことで、iOSのは、UIオートメーションによってサポートされています。これらの言葉は、とにかく、のように見える、私は理解していません。
Appium最大の利点は、あなたが最も重要なピッグテール(AndroidとiOS)との互換性、Appium選択ツールなしでスクリプトを記述するために、ほぼすべてのプログラミング言語(例えば、Javaの、Objective-Cのは、JavaScript、PHP、Rubyの)を使用することができるということですなしその上、テストへの適応、およびする機器のインストールと設定。
第三に、クラウド・テスト・プラットフォーム
3.1 テンセント才能のテストクラウド・テスト・プラットフォーム
Androidモバイルエンド自動テストAndroidモバイルエンド自動テストAndroidモバイルエンド自動テストAndroidモバイルエンド自動テストのAndroid携帯端末自動テスト