基於Appium+WDA+Python搭建IOS自動化測試全紀錄(三):真機demo執行
前期回顧:
基於Appium+WDA+Python搭建IOS自動化測試全紀錄(二):模擬器demo執行
基於Appium+WDA+Python搭建IOS自動化測試全紀錄(一):環境搭建
在模擬器將demo跑通之後,就要在真機上測試啦,模擬器總是要為真機服務的。
證照問題
在真機上主要是涉及到簽名及證照的問題,一下blog寫的特別好,然而其實我也沒有看懂,RSA演算法神馬的早在密碼學課程上還給老師了。
iOS App 簽名的原理
主要在此簡單記錄一下證照的配置吧。
在xcode中找到build Setting配置部分(之所以把這張圖放出來是因為我最開始找不到這個配置,萌新啥都找不到):
更改一下三個欄位對應的內容:
Code Siging identify 證照裡面對應的開發者
Product Bundle Identify 對應的bundleID
Provisioning Profile 包含了 證照 / Entitlements 等資料,並由蘋果後臺私鑰簽名的資料包。
資料包是.mobileprovision檔案格式結尾 在終端中輸入如下命令即可看到裡面的資訊
security cms -D -i xxxxx.mobileprovision
改完之後 我們開發的程度就可以裝到真機上啦,這個時候選擇在真機上執行,就可以啦。
Appium中wda真機配置
測試app裝到真機上之後,還要考慮如何開啟py指令碼,在真機上進行測試。
這裡需要注意兩點:
- webDriverAgent的配置
- py指令碼的配置有變化
關於WebDriverAgentgithub地址這個還沒了解太多,所以在這裡先不介紹了。簡單來說appium的服務中帶有webDriverAgent,在模擬器上我們開啟appium服務,會發現模擬機上會同步裝上WebRriverAgentRunner的app,這個是appium能在ios上測試的關鍵條件,但是在真機上,卻不能直接裝上。
因為需要證照啊!!!
不能直接從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中進行與證照有關的配置
Code Siging identify 證照裡面對應的開發者
Product Bundle Identify 對應的bundleID
Provisioning Profile 包含了 證照 / Entitlements 等資料,並由蘋果後臺私鑰簽名的資料包。
配置完畢後還需要再WebdDriverAgentRunner中新增一個RoutingHTTPServer.frameork
點選新增之後->add Other
在如下路徑可以查詢到該framework
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/Carthage/Build/iOS
找的一定是appium檔案路徑下的!
上邊關於wda並沒有做過多說明,因為還不怎麼了解等了解了再補充相關知識
py指令碼
py指令碼主要是配置有更改,主體檔案請見開頭(二)模擬器demod的blog
在真機上配置更改如下:
desired_capabilities={
'bundleId': //這個是和證照有關聯的
'platformName': 'iOS',
'platformVersion': '9.3.2',
'deviceName': 'iPhone5 slave15',
'automationName':'XCUITest',
"clearSystemFiles" : True,
'udid'://模擬器的時候我們用uuid,但是真機上請用udid
})
然後啟動appium 發現真機上裝上了廁所app 裝上了WebDriverAgentRunner 然後用python執行指令碼就ok拉!
以上為從搭建環境-》模擬器跑demo-》真機跑demo的簡單記錄,不涉及到原理方面的講解,如有錯誤之處還請提出。
【之後還有跳一跳的安卓環境搭建
wda的inspector相關環境還沒記錄~】
[Tbc]
個人部落格:
進擊的程式茗
相關文章
- Mac 上 iOS 真機已處理完成 APP inspector,如何能讓測試 APP 執行自動化測試呢?MaciOSAPP
- 基於 LangChain 的自動化測試用例的生成與執行LangChain
- IOS自動化測試環境搭建(Python & Java)iOSPythonJava
- 基於 Htte 的 API 自動化測試API
- app 自動化 (真機)+jenkins 進行執行問題APPJenkins
- web自動化測試框架-01 搭建基礎架構並執行一個樣例Web框架架構
- 基於虛擬化技術的移動真機雲測試 - 澤眾
- 自動化測試系列(三)|UI測試UI
- 搭建自動化測試環境
- 基於Python豆瓣自動化測試【2】Python
- 基於PhantomFlow的自動化UI測試UI
- swift - 基於TCL的自動化測試框架Swift框架
- [IOS]IOS如何模擬弱網進行自動化測試iOS
- iOS平臺如何進行app自動化測試?iOSAPP
- 基於Selenium2 與Python自動化測試環境搭建Python
- 基於postman的api自動化測試實踐PostmanAPI
- Java + SikuliX 基於影像實現自動化測試Java
- 基於GUI的自動化軟體測試工具GUI
- iOS自動化測試驅動工具探索iOS
- iOS自動化測試調研方案iOS
- mac上搭建appium+IOS自動化測試環境(一)MacAPPiOS
- iOS 免證書真機測試iOS
- 自動化測試系列 —— UI自動化測試UI
- 基於LangChain手工測試用例轉Web自動化測試生成工具LangChainWeb
- 基於LangChain手工測試用例轉介面自動化測試生成工具LangChain
- 基於LangChain手工測試用例轉App自動化測試生成工具LangChainAPP
- 一種基於 cypress 的 UI 自動化測試框架UI框架
- iOS 給測試人員測試手機APP的四種方法:真機執行(略),打ipa包,(testFlighe)郵件,蒲公英(三)蒲公英iOSAPP
- 自動化測試 selenium 環境搭建
- 介面自動化測試框架搭建總結框架
- 介面自動化測試框架搭建的思路框架
- iOS自動化測試之KIF使用分享iOS
- Appium+Python實現iOS自動化測試~環境搭建APPPythoniOS
- iOS- 最全的真機測試教程iOS
- Xamarin.iOS真機測試報錯iOS
- 自動駕駛測試全流程自動駕駛
- 自動化測試應該如何實現多執行緒?執行緒
- 基於測試驅動的iOS開發iOS