我已经实现了使用Appium在iPhone / iPad模拟器上运行我的测试用例。
使用模拟器:
capabilities.setCapability("device", "iPhone Simulator");
capabilities.setCapability("app", "Safari");
现在我正在尝试使用真实设备上的iPhone网络浏览器执行一些测试,因此我设置了UDID编号。
使用真实设备:
capabilities.setCapability("device", "75cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
capabilities.setCapability("app", "Safari");
但是,appium需要该应用程序的绝对路径。
我也在尝试使用Appium GUI,我也有同样的结果。我不知道是否可以在真实设备上使用Appium运行iPhone应用程序。如果有可能,有人能告诉我我需要哪条绝对路径吗?
对不起我的英语。
感谢您的时间。
答案 0 :(得分:5)
绝对路径是Mac上的应用程序 的文件路径,Appium将在开始您尝试运行的测试之前抓取并安装该文件路径。目前,人们开始使Mobile Safari开放的方式是使用SafariLauncher等程序的绝对路径,为您打开Mobile Safari。在此之后,您可以在Safari中检索webview的窗口句柄并开始运行正常的WebDriver命令。
详细讨论了这种解决方法here。我可以确认它是有效的,但是从我的测试经验来看,所有这些组件协同工作的时间有点笨拙。
作为参考,我相信这些是我用来启动和运行的功能。
capabilities.setPlatform(Platform.valueOf("MAC"));
capabilities.setBrowserName("iPhone");
capabilities.setCapability("app", "/path/to/SafariLauncher.app");
答案 1 :(得分:2)
是的,可以为iPhone IPad等真实设备运行Appium。
注意:
试试这个: 对于ios_webkit_debug_proxy命令应该是
"ios_webkit_debug_proxy -c <<deviceID>>:27753 -d"
Appium通过此端口27753连接到ios_webkit以获取设备。
在APPIUM GUI中给出:
在代码中:
启动ios_webkit_debug_proxy&gt;&gt;启动APPIUM&gt;&gt;开始测试案例。
答案 2 :(得分:0)