IOS常用控件定位方式
name:id定位
lable:accessibility定位
value:xpath定位
IOS模擬器
環境:appium-desktop 1.15.1
IDE:PyCharm
應用:UICatalog.app.zip(模擬器運行可以用我編譯好的,鏈接下載地址: https://pan.baidu.com/s/1k_jlJSOG_OeLwLxy-CkCgw 提取碼: smo6)
版本:ios13.2
直接上運行代碼示例,如下
1 import time 2 from appium import webdriver 3 4 class Test_Demo(): 5 def setup(self): 6 caps = {} 7 caps["app"] = "/Users/xxx/Desktop/UICatalog.app.zip" #app路徑 8 caps["deviceName"] = "iPhone 11 Pro Max" #選擇的機型 9 caps["platformVersion"] = "13.2" #選擇的機型系統版本 10 caps["platformName"] = "iOS" #平台名字 11 caps["automationName"] = "xcuitest" 12 caps["noReset"] = True #運行不重新安裝應用。默認是false,每次運行即重新安裝app 13 14 self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) 15 self.driver.implicitly_wait(20) 16 17 def test_click(self): 18 self.driver.find_element_by_accessibility_id("Buttons").click() 19 20 def teardown(self): 21 time.sleep(20) 22 self.driver.quit()
IOS真機(小問題有很多,如果可以還是模擬器比較穩定🤦♂️)
0、如果有條件建議購買一個真正的開發者證書!!!
1、Mac連接iPhone並點擊信任
2、查看設備連接信息:instruments -s devices
3、查看設備的udid,點擊設備
4、下載項目到本地並在真機上進行編譯
項目下載地址:https://github.com/appium/ios-uicatalog/archive/v3.6.0.zip
xcode打開下載解壓后的 UICatalog.xcodeproj 文件
注意⚠️:直接編譯會出錯,這時需要更改下包名和Team選項(Team沒有可以自己創建一個)
5、修改webdriveragent的bundle id【udid】
參考鏈接:http://appium.io/docs/en/drivers/ios-xcuitest-real-devices/
運行代碼示例,如下
1 import time 2 from appium import webdriver 3 4 class Test_Demo(): 5 def setup(self): 6 caps = {} 7 caps["deviceName"] = "iPhone SE" 8 caps["udid"] = "2721277896a12c5170b349ef1a0c350c305d85ce" 9 # caps["udid"] = "auto" 10 # caps["platformVersion"] = "13.5" 11 caps["platformName"] = "ios" 12 caps["automationName"] = "xcuitest" 13 caps["noReset"] = True 14 15 caps["xcodeOrgId"] = "8278HWK4WG" 16 caps["xcodeSigningId"] = "iPhone Developer" 17 caps["app"] = "/Users/xxx/Library/Developer/Xcode/DerivedData/UICatalog-bhusnpsiarhwldcabdhervujqkcx/Build/Products/Debug-iphoneos/UICatalog.app" 18 19 self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) 20 self.driver.implicitly_wait(20) 21 22 def test_click(self): 23 self.driver.find_element_by_accessibility_id("Buttons").click() 24 25 def teardown(self): 26 time.sleep(20) 27 self.driver.quit()
環境的搭建可以參考:https://www.cnblogs.com/fnng/p/12616466.html