模擬器測試
1、打開Appium桌面客戶端
點擊Start Server啟動Appium服務(wù)端
2页响、設(shè)置Desired Capabilities,運行測試
查看可用的模擬器
xcrun simctl list devices
點擊Appium桌面端右上角的搜索按鈕闰蚕,設(shè)置Desired Capabilities
參數(shù)說明:
{"platformName":"ios",//運行平臺
"deviceName":"iPhone 8",// 設(shè)備名
"platformVersion":"12.2",//系統(tǒng)版本
"bundleId":"com.apple.mobilesafari",// AppbundleId没陡,這里使用iOS自帶的safari瀏覽器測試}
點擊Start session,開始測試
第一次啟動诗鸭,Appium客戶端會運行WebDriverAgent bootstrap script安裝依賴,這里要等一會
依賴安裝成功之后强岸,appium 會啟動 iOS 設(shè)備上的 Safari 瀏覽器,并彈出 appium inspector 窗口
可能遇到的錯誤
image.png
原因:xcode缺少組件青灼,打開xcode會彈出如下提示妓盲,點擊安裝即可
iOS真機(jī)環(huán)境配置
真機(jī)運行iOS測試,需要安裝兩個軟件
1弹沽、安裝libimobiledevice,這是用于連接 iOS 設(shè)備的開源工具策橘,類似于 Android 的 ADB
brew install libimobiledevice --HEAD
2娜亿、安裝ios-deploy,這是支持使用命令行管理 iOS 設(shè)備 app 的工具
npm install -g ios-deploy
基本配置
安裝WebDriverAgent到真機(jī)
這里只講手動配置(每次Appium更新买决,都需要重新安裝一次WebDriverAgent)吼畏,自動配置請參考這里
將真機(jī)連接電腦
進(jìn)入WebDriverAgent工程所在的目錄
打開終端嘁灯,cd到下面目錄
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
雙擊WebDriverAgent.xcodeproj打開WebDriverAgent工程
設(shè)置簽名證書(這里使用免費App Id的自簽名證書):
打開工程TARGETS,選擇WebDriverAgentLib->General旁仿,修改Bundle Identify為com.yfm.wda.lib
image.png
選擇IntegrationApp->General枯冈,修改Bundle Identify為com.yfm.wda.integrationApp
image.png
選擇WebDriverAgentRunner->Build Settings,修改Bundle Identify為com.yfm.WebDriverAgentRunner
image.png
證書設(shè)置完之后尘奏,使用command+U運行WebDriverAgentRunner到真機(jī)上
運行完之后,真機(jī)上會多個WebDriverAgentRunner的App炫加,App啟動之后馬上退出,這是正常的
控制臺會輸出如下信息:
image.png
WebDriverAgentRunner啟動后會在設(shè)備開啟一個單獨的進(jìn)程運行
這里可能碰到一個問題酒甸,Server URL的端口號是0
解決方案:#661
修改Open the appium-xcuitest-driver/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m, and set the port to 8100 in line 123.
執(zhí)行以下命令赋铝,將 iOS 設(shè)備上 WebDriverAgentRunner 監(jiān)聽的 8100 端口映射到 macOS 本地的 8100 端口
iproxy 8100 8100 iOS設(shè)備udid
在瀏覽器輸入http://192.168.2.6:8100/status,可查看WebDriverAgentRunner的運行狀態(tài)
image.png
設(shè)備上運行
重復(fù)模擬器設(shè)置步驟农尖,運行Appium桌面端,
查看設(shè)備信息
xcrun simctl list devices
設(shè)置Desired Capabilities
{"platformName":"ios",//
平臺"deviceName":"yfm-iPhone",// 設(shè)備名"platformVersion":"10.3.3",//
設(shè)備系統(tǒng)版本"bundleId":"com.taobao.tmall",//
天貓App"udid":"ad7cda4b4e7e7201865f5420b340566dd256038e"http:// 設(shè)備udid}
這里設(shè)置的bundleId為天貓App的bundleId
運行成功后盛卡,可看到下圖
image.png
注:這里可使用Appium查看任意App的布局
pycharm 環(huán)境測試
pycharm 安裝appium插件
點擊pycharm菜單下的preferences,在project Interpereter 下安裝
新建python 文件內(nèi)容如下:
from appiumimport webdriver
desired_caps = {}
desired_caps['platformName'] ='ios'
desired_caps['platformVersion'] ='12.2'
desired_caps['deviceName'] ='iPhone 8'
desired_caps['bundleId'] ='com.apple.mobilesafari'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
運行后的效果: