テストの記述 (JS)

JavaScript (Node.js) で Appium テストを作成するには、Appium 互換のクライアントライブラリを選択する必要があります。 Appium チームが推奨する、最もよくメンテナンスされているライブラリは WebdriverIO なので、これを使用しましょう。Appium が既にインストールされているため、Node と NPM の要件は既に満たされています。そのため、コンピューター上の任意の場所に新しいプロジェクトディレクトリを作成し、その中に新しい Node.js プロジェクトを初期化します。

npm init

プロンプトに入力する内容は、有効な package.json が生成される限り、それほど重要ではありません。

次に、NPM 経由で webdriverio パッケージをインストールします。

npm i --save-dev webdriverio

これが完了すると、package.json ファイルには次のようなセクションが含まれているはずです。

package.json
{
  "devDependencies": {
    "webdriverio": "8.32.4"
  }
}

それでは、テスト自体を入力しましょう。次の内容で test.js という新しいファイルを作成します。

test.js
const {remote} = require('webdriverio');

const capabilities = {
  platformName: 'Android',
  'appium:automationName': 'UiAutomator2',
  'appium:deviceName': 'Android',
  'appium:appPackage': 'com.android.settings',
  'appium:appActivity': '.Settings',
};

const wdOpts = {
  hostname: process.env.APPIUM_HOST || 'localhost',
  port: parseInt(process.env.APPIUM_PORT, 10) || 4723,
  logLevel: 'info',
  capabilities,
};

async function runTest() {
  const driver = await remote(wdOpts);
  try {
    const batteryItem = await driver.$('//*[@text="Battery"]');
    await batteryItem.click();
  } finally {
    await driver.pause(1000);
    await driver.deleteSession();
  }
}

runTest().catch(console.error);

注記

このガイドでは、WebdriverIO クライアントライブラリやここで行われていることすべてを詳細に説明することは範囲外なので、コード自体は今のところ詳細な説明は省略します。表示されているさまざまな API コマンドとその目的についてより深く理解するには、WebdriverIO ドキュメントをよく読んで理解するだけでなく、Appium の ケーパビリティ についても読んで理解することをお勧めします。

注記

サンプルコードは、GitHub Appium リポジトリ から入手できます。

基本的に、このコードは次のことを行っています。

  1. Appium がどのような種類のものを自動化したいかを理解できるように、Appium サーバーに送信する「ケーパビリティ」(パラメーター)のセットを定義します。
  2. 組み込みの Android 設定アプリで Appium セッションを開始します。
  3. 「バッテリー」リスト項目を見つけてクリックします。
  4. 純粋に視覚効果のために少し一時停止します。
  5. Appium セッションを終了します。

それだけです!試してみましょう。テストを実行する前に、別のターミナルセッションで Appium サーバーが実行されていることを確認してください。そうでない場合、サーバーに接続できないというエラーが発生します。その後、スクリプトを実行できます。

node test.js

すべてうまくいけば、設定アプリが開き、「バッテリー」ビューに移動してからアプリが再び閉じます。

おめでとうございます。Appium の旅を始めました!次のステップ を読んで、探索してください。