撰寫測試 (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 用戶端程式庫或這裡發生的一切進行完整的說明,因此我們現在將暫時不詳細說明程式碼本身。你可能需要特別閱讀 Appium 功能,以及熟悉優秀的 WebdriverIO 文件,以更全面地了解你看到的各種 API 命令及其用途。

注意

範例程式碼可從 GitHub Appium 存放庫 取得。

基本上,此程式碼執行下列動作

  1. 定義一組「功能」(參數)傳送至 Appium 伺服器,以便 Appium 知道你想要自動化哪種類型的東西。
  2. 在內建的 Android 設定應用程式上啟動 Appium 會話。
  3. 尋找「電池」清單項目並按一下它。
  4. 暫停片刻,純粹為了視覺效果。
  5. 結束 Appium 會話。

就是這樣!讓我們試試看。在執行測試之前,請確保你在另一個終端機會話中執行 Appium 伺服器,否則你會收到無法連線的錯誤訊息。然後,你可以執行指令碼

node test.js

如果一切順利,你會看到設定應用程式開啟並導覽至「電池」檢視,然後應用程式再關閉。

恭喜你,你已經開始你的 Appium 之旅!繼續閱讀一些 後續步驟 以探索。