概要

モバイルアプリテストのデバッグは、開発ツールが利用できないため、Webほど簡単ではありません。モバイルアプリテストをデバッグするには、Appiumインスペクターをセットアップしてテストセッションに接続する必要があります。

前提条件

テストのデバッグには、Appiumインスペクターをお勧めします。Appiumインスペクターをセットアップするには、こちらのガイドに従ってください。

Appiumインスペクターを使用したデバッグ

ステップ1

以下に示すように、テストスクリプトで.debug()コマンドを使用して、エラーの直前にデバッグポイントを追加します。

test.js

app
  .useXpath()
  .click('//XCUIElementTypeSearchField[@name="Search Wikipedia"]')
  .sendKeys('//XCUIElementTypeSearchField[@name="Search Wikipedia"]','browserstack')
  .click('//XCUIElementTypeStaticText[@name="BrowserStack"]')
  .debug()

ステップ2

Nightwatchテストセッションが作成されるように、テストを実行します。

ステップ3

Appiumインスペクターを開き、セッションを接続します。

Debugging setup with Appium Inspector

Appium 1を使用している場合は、AppiumインスペクターがAppiumサーバーからアクティブなセッションを取得できるように、リモートパスフィールドに/wd/hubを追加します。

これで、テストセッションがデバッグ用にセットアップされました。

ステップ4

テストのセッションが接続されると、左側のペインで要素を選択して、App Sourceペインで強調表示し、Selected Elementペインにすべての詳細と属性を表示できます。以下に示すように。

Debugging with Appium Inspector

以下に示すように、`コマンド`タブでAppiumコマンドを実行することもできます。

Running commands with Appium inspector

ターミナルのデバッガーコンソールを使用したデバッグ

ステップ1

以下に示すように、テストスクリプトで.debug()コマンドを使用して、エラーの直前にデバッグポイントを追加します。

test.js
app
  .useXpath()
  .click('//XCUIElementTypeSearchField[@name="Search Wikipedia"]')
  .sendKeys('//XCUIElementTypeSearchField[@name="Search Wikipedia"]','browserstack')
  .click('//XCUIElementTypeStaticText[@name="BrowserStack"]')
  .debug()

ステップ2

Nightwatchテストセッションが作成されるように、テストを実行します。

ステップ3

ターミナルで開いているNightwatchデバッグコンソールに、Nightwatchコマンド/アサーションを渡します。