古詩詞大全網 - 個性簽名 - Appium 在 iOS 上怎麽實現多設備操作 · TesterHome

Appium 在 iOS 上怎麽實現多設備操作 · TesterHome

首先 Appium 支持 iOS 真機

條件必須滿足:

蘋發者賬號發者證書

蘋設備確保設備已經配置發機器配置

簽名 .ipa 文件或者源代碼

A Mac with Xcode and the Xcode Command Line Developer Tools xcodexcode command line 蘋系統別問我windows 測試 iOS 應用

Provisioning Profile

再強調真機需要效發發證書發 Provisioning Profile

應用需要簽名Appium 參試使用 Fruitstrap 安裝應用

使用 xcode 安裝真機便

拓展: Provisioning Profile

運行

要指定真機運行兩種式:

appium 啟候指定 udid app bundle appium -U --app

或者腳本指定兩 desired capability

desired_capabilities={

'app':'com.xxx.iphone',

'udid':'70643e56c1b0f3c3132c44c87e433a48b5531ee6',

'platformName': 'iOS',

'deviceName': 'iPhone'

})

註意: 設備未安裝 app 指定 ipa 址安裝

則指定 bundle ID

所於第種情況代碼寫:

self.driver = webdriver.Remote(

command_executor='',

desired_capabilities={

'deviceName':'',

'platformName': 'iOS',

})

於第二種情況代碼寫:

app = "io.appium.TestApp"

self.driver = webdriver.Remote(

command_executor='',

desired_capabilities={

'deviceName':'',

'platformName': 'iOS',

'app': app,

'udid': 'cc6bcd6a94aeb8490924dd05c5b318bfbfafb3bb'

})

調試思路

確保 UDID 確真機 UDID(20+ 字符串)

確保模擬器已經能運行誤

直接使用 Instruments 看看否能真機運行些情況連 xcode instruments 都能真機調試更別談 appium

確保運行 appium 用例前 instruments 沒啟看看沒 instruments 進程

目前 1.2.2 坑

目前 appium 1.2.2 運行 iOS 真機測試能遇錯誤:

info: [debug] Starting iOS device log capture via deviceconsole

error: iOS log capture failed: spawn ENOENT

info: [debug] Cleaning up appium session

error: Failed to start an Appium session, err was: Error: spawn ENOENT

info: [debug] Error: spawn ENOENT

at errnoException (child_process.js:1000:11)

at Process.ChildProcess._handle.onexit (child_process.js:791:34)

info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: spawn ENOENT)","code":"ENOENT","errno":"ENOENT","syscall":"spawn","origValue":"spawn ENOENT"},"sessionId":null}

info: <-- POST /wd/hub/session 500 1780.745 ms - 197

/usr/local/lib/node_modules/appium/build/deviceconsole/ 面缺失 deviceconsole已經 bug 追蹤

解決:

該目錄底 cd /usr/local/lib/node_modules/appium/build/deviceconsole/

打deviceconsole project open deviceconsole.xcodeproj

重新 build build deviceconsole復制 /usr/local/lib/node_modules/appium/build/deviceconsole/

重新運行 Appium