【翻譯】在 iOS 真機(jī)上運(yùn)行 Appium

在 iOS 真機(jī)上運(yùn)行 Appium

Appium 已支持真機(jī)的測(cè)試。

在開始真機(jī)測(cè)試前,你需要關(guān)注如下信息:

  • 一個(gè)Apple Developer ID 和一個(gè)可以使用的開發(fā)賬號(hào)去配置分發(fā)證書以及配置文件。
  • 一臺(tái) iPad 或者 iPhone。確保在 Xcode 中已被設(shè)置為開發(fā)狀態(tài)。獲取更多信息請(qǐng)查看 this article
  • 一個(gè)被測(cè)應(yīng)用的已簽名 .ipa 包,或者有源碼的話可以自行構(gòu)建。
  • 一臺(tái)已裝 Xcode 和 Xcode Command Line Developer Tools 的 Mac。

配置文件

要在真機(jī)運(yùn)行,有效的 iOS 開發(fā)分發(fā)證書和配置文件都是必須的。還要對(duì)你的應(yīng)用進(jìn)行簽名。你可以在 Apple documentation 找到更多相關(guān)信息。

Appium 會(huì)使用 Fruitstrap 去安裝你的應(yīng)用,但通常更容易的方式是先使用Xcode 去原裝你的應(yīng)用,來(lái)確保他們都是沒(méi)問(wèn)題的(查看 iOS deploy 獲取更多信息 )

在 Xcode 8(包含 iOS 10)下使用 XCUITest 進(jìn)行測(cè)試

這功能現(xiàn)在依賴 idevicesyslog 進(jìn)行記錄,且使用 iProxy 進(jìn)行端口轉(zhuǎn)發(fā),這兩個(gè)部分工具都包含在 libimobiledevice 其中??梢允褂? Homebrew 去安裝它,

brew install libimobiledevice

另外,日志記錄同樣可以使 deviceconsole 工具完成,相關(guān)信息可以訪問(wèn)這里查看。當(dāng)你決定使用哪個(gè)工具后,使用 realDeviceLogger 作為環(huán)境配置,最終程序的日志記錄在設(shè)置的路徑當(dāng)中。

使用 Appium 運(yùn)行你的測(cè)試

一旦你的設(shè)備和應(yīng)用都已配置,你可以通過(guò)命令行添加 -U 或者 --udid 標(biāo)簽去指定目標(biāo)設(shè)備去運(yùn)行你的測(cè)試,然后再傳給服務(wù)器。在環(huán)境變量中的不同設(shè)置也會(huì)有不同的效果,將 udid 設(shè)置為設(shè)備的 udid 也能指定設(shè)備。也可通過(guò)如下方式指定被測(cè)應(yīng)用,添加 bundle ID(如果應(yīng)用已安裝在設(shè)備上),或者通過(guò) --app 標(biāo)識(shí)去指定.ipa 或者 .apk 被測(cè)包的路徑,又再有就是在環(huán)境變量中修改 app 的值。

服務(wù)器參數(shù)

舉個(gè)例子,在你啟動(dòng)你的應(yīng)用之前,希望 Appium 直接使用一個(gè)指定的 UDID,那你可以使用如下命令:

appium -U <udid> --app <path or bundle>

這會(huì)啟動(dòng) Appium 并運(yùn)行指定的設(shè)備去測(cè)試你的應(yīng)用。

更多相關(guān)的參數(shù)請(qǐng)參考 Appium server arguments 獲取更多詳細(xì)的信息。

環(huán)境配置

在你的測(cè)試中只要包含以下兩項(xiàng)環(huán)境配置,你就可以在指定設(shè)備上啟動(dòng)你的應(yīng)用:

  • app
  • udid

更多相關(guān)的請(qǐng)參考 Appium server capabilities獲取更多詳細(xì)的信息。

故障排查的思路

  1. 確保 UDID 是無(wú)誤的,可以通過(guò) Xcode Organizer 或者 iTunew 查看。留意 UDID 是很長(zhǎng)的字符串(20+ 字符)。
  2. 確保你可以在模擬器運(yùn)行你的測(cè)試。
  3. 重復(fù)確認(rèn) Instrumens 是否啟動(dòng)了你的自動(dòng)化。
  4. 確保 Instruments 不在運(yùn)行狀態(tài)中。
  5. 確保 UI Automation 在你的設(shè)備中是可執(zhí)行狀態(tài)。設(shè)置 -> 開發(fā)者 -> 使用 UI Automation

在 Android 真機(jī)上運(yùn)行 Appium

謝天謝地!在 Android 真機(jī)上運(yùn)行是沒(méi)有額外需要注意的地方:在模擬器上能運(yùn)行的測(cè)試同樣適用在真機(jī)上。確保你的設(shè)備可以鏈接 ADB 和開啟開發(fā)者模式。在真機(jī)上測(cè)試 Chrome,你只需負(fù)責(zé)確認(rèn) Chrome 已安裝上一個(gè)合適的版本。

同樣,你大概會(huì)想在設(shè)置中確?!膀?yàn)證的應(yīng)用”是在不可用狀態(tài)亦或是未檢查狀態(tài),否則他可以防止一些 Appium 的輔助應(yīng)用自己?jiǎn)?dòng),已經(jīng)檢查他們是否正常運(yùn)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容