Appium自动化测试之IOS模拟器与真机
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