2

私はまだAndroidアプリでAppiumのテストを学んでいます。これが実行可能かどうか疑問に思っています。

A.apk を持っていて、A.apk を Android デバイスにインストールしたいとします。次に、アプリを起動し、クリック可能な各リンク (ボタン、ヘルプ リンク、画像リンクなど) をクリックして、そこにあるかどうかを確認します。どちらかが壊れています。

A.apk のソース コードにアクセスすることはできませんが、最大 100 個の他の Android アプリにアクセスする必要がある可能性があるため、各リンクを手動で確認することはまったく不可能です。

4

2 に答える 2

1

簡単な答えは:はい、できます
このようなテストを作成する労力は、テストをどの程度深くするかによって異なりますが、最も複雑なシナリオであってもアプリのソースは必要ありません。

以下は、より詳細な回答です。

ユーザーに表示されるはずの UI 要素のみに依存するブラックボックス テストを作成できます。
多くの場合、クリック可能なオブジェクトは、そこに表示されるテキストで識別できます。

Java でスナップショットをテストします。

 // find your button by the text
 WebElement button = driver.findElement(By.name("my button"));
 button.click();
 // you can then wait for the next screen to appear, scroll to element, etc.

 // then you verify that certain text is on screen
 WebElement title = driver.findElement(By.text("some Title"));
 assertNotNull(title);

いくつかのドキュメントを参照できます。

テキストだけに依存したくない/依存できない、より高度なケースでは、クラス (Button、TextView、EditText)、XPath 値、画面上の一意の ID 文字列を使用して、特定の要素を手動で識別する必要がある場合があります。appium inspectorまたはUI automator viewer
を使用 して、テスト対象のアプリを検査することで、このすべての情報を取得できます (テストを作成する前に 1 回だけ実行する必要があります) 。 繰り返しますが、.apk ファイル以外は何も必要ありません。

于 2014-10-25T19:54:12.243 に答える
0

APK を徹底的にテストするためにソース コードは必ずしも必要ではありません。また、Appium は APK をテストする優れた方法を提供するため (src は不要)、実際のデバイスでそのテストを自動化してみませんか? 残念ながら、エミュレーターでは良い結果が得られません (OEM のカスタマイズ、実際のハードウェア、ネットワークなどはありません)。

于 2014-10-22T09:26:36.360 に答える