前期回顧:
基于Appium+WDA+Python搭建IOS自動化測試全紀錄(二):模擬器demo運行
基于Appium+WDA+Python搭建IOS自動化測試全紀錄(一):環(huán)境搭建
在模擬器將demo跑通之后,就要在真機上測試啦,模擬器總是要為真機服務的。
證書問題
在真機上主要是涉及到簽名及證書的問題,一下blog寫的特別好,然而其實我也沒有看懂,RSA算法神馬的早在密碼學課程上還給老師了。
iOS App 簽名的原理
主要在此簡單記錄一下證書的配置吧。
在xcode中找到build Setting配置部分(之所以把這張圖放出來是因為我最開始找不到這個配置,萌新啥都找不到):

更改一下三個字段對應的內(nèi)容:
Code Siging identify 證書里面對應的開發(fā)者
Product Bundle Identify 對應的bundleID
Provisioning Profile 包含了 證書 / Entitlements 等數(shù)據(jù),并由蘋果后臺私鑰簽名的數(shù)據(jù)包。
數(shù)據(jù)包是.mobileprovision文件格式結(jié)尾 在終端中輸入如下命令即可看到里面的信息
security cms -D -i xxxxx.mobileprovision
改完之后 我們開發(fā)的程度就可以裝到真機上啦,這個時候選擇在真機上運行,就可以啦。
Appium中wda真機配置
測試app裝到真機上之后,還要考慮如何開啟py腳本,在真機上進行測試。
這里需要注意兩點:
- webDriverAgent的配置
- py腳本的配置有變化
關(guān)于WebDriverAgentgithub地址這個還沒了解太多,所以在這里先不介紹了。簡單來說appium的服務中帶有webDriverAgent,在模擬器上我們開啟appium服務,會發(fā)現(xiàn)模擬機上會同步裝上WebRriverAgentRunner的app,這個是appium能在ios上測試的關(guān)鍵條件,但是在真機上,卻不能直接裝上。
因為需要證書啊!??!
不能直接從github上下載進行證書配置,要改appium中node_modules中的webDriverAgent。
先找到appium的位置
find / -name appium // /usr/local/lib/node_modules/appium
最后找到的地址大概如下:
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
放到xcode中進行簽名證書配置,注意雖然我們打開的是WebDriverAgent文件夾,但是我們要配置的是WebdDriverAgentRunner 在其Build Settings中進行與證書有關(guān)的配置
Code Siging identify 證書里面對應的開發(fā)者
Product Bundle Identify 對應的bundleID
Provisioning Profile 包含了 證書 / Entitlements 等數(shù)據(jù),并由蘋果后臺私鑰簽名的數(shù)據(jù)包。
配置完畢后還需要再WebdDriverAgentRunner中添加一個RoutingHTTPServer.frameork

點擊添加之后->add Other
在如下路徑可以查找到該framework
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Carthage/Build/iOS
找的一定是appium文件路徑下的!
上邊關(guān)于wda并沒有做過多說明,因為還不怎么了解等了解了再補充相關(guān)知識
py腳本
py腳本主要是配置有更改,主體文件請見開頭(二)模擬器demod的blog
在真機上配置更改如下:
desired_capabilities={
'bundleId': //這個是和證書有關(guān)聯(lián)的
'platformName': 'iOS',
'platformVersion': '9.3.2',
'deviceName': 'iPhone5 slave15',
'automationName':'XCUITest',
"clearSystemFiles" : True,
'udid'://模擬器的時候我們用uuid,但是真機上請用udid
})
然后啟動appium 發(fā)現(xiàn)真機上裝上了廁所app 裝上了WebDriverAgentRunner 然后用python運行腳本就ok拉!
以上為從搭建環(huán)境-》模擬器跑demo-》真機跑demo的簡單記錄,不涉及到原理方面的講解,如有錯誤之處還請?zhí)岢觥?/p>
【之后還有跳一跳的安卓環(huán)境搭建
wda的inspector相關(guān)環(huán)境還沒記錄~】
[Tbc]