Cognizant ITSを使ったモバイルアプリUIテストの自動化(3) - クイックスタート

 

この記事では、新規プロジェクト作成から簡単なテストデザイン、テスト実行、レポートまでの操作方法を説明していきたいと思います。


連載目次


動作している所を見て頂いたほうが分かりやすいと思いますので、本記事で行う一通りの流れを動画にいたしました。まずは御覧頂ければと思います(約11分)。

前準備

実際に操作する前に下記をご準備下さい。

Android端末

  • Android端末の開発者向けオプションをONにします。
  • Android端末の[設定][開発者オプション]から[USBデバッグ]をONにしておいてください。
  • USBケーブルでパソコンと接続してください。
  • パソコン側のターミナルアプリもしくはコマンドプロンプトで
    adb devices

    と入力しEnter(return)キーを押します。List of devices attachedの下の行にxxxxxxxxxx deviceと出たら接続が成功しています。

  • Windowsの場合、端末ごとに別途adbドライバをインストールする必要がある場合があります。この場合、それぞれの端末のメーカーのサイトからダウンロードしインストールして下さい。

 

アプリ

 

アプリの起動

  1. Appiumを起動しておきます。
     
  2. Appiumの[Start Server]ボタンをクリックしてサーバーを起動します。
      
  3. 次にcognizant-intelligent-test-scripter-xx.xx直下にある、Run.commandファイル(macOS)もしくはRun.batファイル(Windows)をダブルクリックしてCognizant ITSを起動します。
     
  4. Cognizant ITSが起動するとスタート画面が表示されますので、[New]をクリックし新規プロジェクトを作成します。
     
  5. 任意のプロジェクト名(例:NewProject)と、プロジェクトファイルを置く場所を指定し、[Create Project]ボタンをクリックすると、新しいプロジェクトが開きます。
     

プロジェクトの設定

  1. まずはテストで利用するAndroid端末の登録を行います。
    [Browser Configuration]をクリックします。
     
  2. [Manage Browsers]タブをクリックします。
     
  3. [Browser / Emulator]にテストを行う端末名(例:Android Device 1)を入力し、すぐ右の[+]ボタンをクリックすると端末が追加されます。
     
  4. 今回はネイティブアプリの試験なので[Remote URL/Appium]にチェックを入れ[Save]をクリックします。
     
  5. そのまま[Capabilities]タブを開きます。
    下の方の[+]をクリックし、PropertyValueを入力していきます。※macOSの場合、コピー&ペーストのショートカットがcommand+C、command+Vではなく、control+C、control+Vとなっていますのでご注意下さい。
     

     

    サンプルは下記の通り。

    Property Value
    deviceName Android Device 1
    platformName Android
    platformVersion 7.0
    appPackage io.appium.android.apis
    (アプリのパッケージ名)
    appActivity ApiDemos
    (アプリのメインアクティビティ名)

    下記サイトに詳しい説明が記載されています。
    https://appium.io/docs/en/writing-running-appium/caps/(外部サイト)

  6. 入力が完了したら、[Save]をクリックし、このウィンドウも閉じます。
     
  7. [Run]のボタンを右クリックし、先ほど作成した[Android Device 1]を選択します。
    これによりテストのレビューの際に、先ほど登録した端末が使われるようになります。
     

テストケースの作成

ApiDemos-debug.apkアプリのAccessibilityをタップし、Accessibility Node Providerをタップすると、アクションバーのタイトルがAccessibility / Accessibility Node Providerとなっているかどうかをチェックするというようなテストケースを作成します。

  1. 実機側でテストを行うアプリ(ApiDemos-debug.apk)を立ち上げます。
     
  2. Cognizant ITSの[Mobile Spy]をクリックし、Mobile Object Grabberウィンドウを出します。
    Mobile Object Grabberは、アプリの要素情報を取得することができます。
     
  3. Mobile Object Grabberウィンドウの[Road from Device]をクリックすると、スマートフォンの画面が読み込まれます。
  4. Accessibilityにマウスオーバーし赤枠がついた状態で右クリックします。
     
  5. 実機側で、Accessibilityをタップし、Accessibilityの画面を表示します。
  6. 再度Mobile Object Grabberウィンドウの[Road from Device]をクリックして画面を読み込みます。
     
  7. Accessibility Node Providerにマウスオーバーし赤枠がついた状態で右クリックします。
     
  8. 実機側でAccessibility Node Providerをタップします。
  9. 再度Mobile Object Grabberウィンドウの[Road from Device]をクリックして画面を読み込みます。
     
  10. アクションバーのテキスト部分Accessibility / Accessibility Node Providerにマウスオーバーし赤枠がついた状態で右クリックします。
     
  11. 右側のフォルダを開き、さらにio.appium.android.apisも開きます。
  12. 中に入っている項目をそれぞれクリックし、下に表示される項目のxpath以外を削除します。
    ※このアプリの場合、画面において一意となっているのがxpathの値のため、他の値を削除しています。
     
     
     
  13. Cognizant ITS本体のウィンドウに戻り、右上のObject Repositoryにある[Mobile]をクリックします。
     
  14. Object Repository内のフォルダをクリックして開けていくと、先ほど右クリックして追加したAccessibilityなどのオブジェクトが入っています。
    ※もし更新されていない場合は、Object Repositoryのフォルダ(ここではNewProject)を右クリックし、Sortをクリックすると更新されます。
     
  15. [+]をクリックしてシナリオの行を追加します。
     
  16. Accessibilityを中央のObjectNameへドラッグ&ドロップします。
     
  17. ActionClickと入力します。
     
  18. 再度[+]をクリックしてシナリオの行を追加します。
     
  19. 同じようにAccessibility Node ProviderObjectNameへドラッグ&ドロップします。
     
  20. ActionClickと入力します。
     
  21. 再度[+]をクリックしてシナリオの行を追加します。
  22. Accessibility / Accessibility Node ProviderObjectNameへドラッグ&ドロップします。
     
  23. ActionassertElementTextEqualsと入力します。
    assertElementTextEqualsは、テキストを検証するアクションです。
     
  24. Input@Accessibility/Accessibility Node Providerと入力します。
    ※文字列を入力する場合は先頭に””を付けます。
     
  25. 実機がスリープに入っていたら解除しておきます。
    ※Appiumでも同様なのですが、テストを実行する際にスリープの状態ですと、正しくアプリを起動することが出来ない場合があります。
  26. Runをクリックするとテストをレビューすることが出来ます。
     
  27. テストが完了すると、自動的にブラウザでレポートが表示されます。
    ※テストが正常に終わらなかった場合は、レポート右下のログをクリックして確認してみて下さい。
     
     
     

テストの実行

テストケースの作成が終わったら、レビューではなく正式なテストの実行となります。
ここではシンプルに先ほどのシナリオを実行するだけに留めますが、カスタマイズすることで、テストを何度も繰り返したり、複数の端末で実行したり、リリース毎にどのシナリオを実行するか計画したりすることができます。

  1. Cognizant ITSの左端にマウスカーソルを合わせるとナビゲーションが出てきますので、真ん中のTestExecutionをクリックします。
     
  2. 左上TestLabNewProjectフォルダを右クリックし、Add Releaseをクリックします。
     
  3. 新しくできたNewReleaseを右クリックし、Add TestSetをクリックします。
     
  4. 中央の[+]をクリックし行を増やします。
    ※今回は1行だけですが、複数行作成することで複数のテストシナリオを連続して行うことができます。
     
  5. TestScenarioNewScenarioを入力します。
     
  6. TestCaseNewTestCaseを入力します。
     
  7. BrowserAndroid Device 1を入力します。
     
  8. PlatformANDROIDを入力します。
     
  9. Runをクリックすると実行され、完了時に自動的にレポートが表示されます。
     

レポートの表示

TestExecutionで実行したテスト結果はCognizant ITS内で見返すことが可能です。

  1. Cognizant ITSの左端にマウスカーソルを合わせてナビゲーションを出し、一番下のDashboardをクリックします。
     
  2. 左上のNewProjectフォルダを開けていき、NewTestSetをクリックするとレポートが表示されます。
     

まとめ

今回は、画面遷移をして遷移先のテキストが想定通りかどうかをチェックするシンプルなテストを作成しました。
アクションなどを変更することによって、様々なテストを行うことができることが感じられたのではないでしょうか。

次回はスマホアプリで使えるアクションを一覧で説明したいと思います。
→第4回 アクション一覧