基于Appium+WDA+Python搭建IOS自動化測試全紀錄(三):真機demo運行

前期回顧:
基于Appium+WDA+Python搭建IOS自動化測試全紀錄(二):模擬器demo運行
基于Appium+WDA+Python搭建IOS自動化測試全紀錄(一):環(huán)境搭建

在模擬器將demo跑通之后,就要在真機上測試啦,模擬器總是要為真機服務的。

證書問題

在真機上主要是涉及到簽名及證書的問題,一下blog寫的特別好,然而其實我也沒有看懂,RSA算法神馬的早在密碼學課程上還給老師了。
iOS App 簽名的原理
主要在此簡單記錄一下證書的配置吧。
在xcode中找到build Setting配置部分(之所以把這張圖放出來是因為我最開始找不到這個配置,萌新啥都找不到):

WX20180115-203847@2x.png

更改一下三個字段對應的內(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


WX20180115-222415@2x.png

點擊添加之后->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]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容