概觀

偵錯行動應用程式測試不如偵錯 Web 應用程式來得直接,因為開發人員工具無法使用。為了偵錯行動應用程式測試,必須設定 Appium Inspector 並將其附加至測試會話。

先決條件

建議使用 Appium Inspector 來偵錯測試。若要設定 Appium Inspector,請遵循此指南

使用 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

開啟 Appium Inspector 並附加會話

Debugging setup with Appium Inspector

如果您使用的是 Appium 1,請在「遠端路徑」欄位中新增 /wd/hub,讓 Appium Inspector 能夠從 Appium 伺服器取得作用中的會話。

就是這樣!您的測試會話已設定完成,可進行偵錯。

步驟 4

一旦附加了測試的會話,您可以在左側窗格中選取元素,以在「應用程式來源」窗格中反白顯示,並在「選取的元素」窗格中檢視所有詳細資料和屬性,如下所示。

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 偵錯主控台。