我正在尝试在Mac上使用Appium在移动设备中启动Safari浏览器。
以下是我在 eclipse 中使用的功能
desCapabilities = DesiredCapabilities.iphone();
desCapabilities.setCapability(BrowserType.IPHONE, "Safari");
desCapabilities.setCapability("browserName", "Safari");
desCapabilities.setCapability("platformName","iOS");
desCapabilities.setCapability("deviceName", "iPhone");
desCapabilities.setCapability("version", "10.3.1");
desCapabilities.setCapability("udid", "mobileID");
driver = new RemoteWebDriver(new URL("http://" + nodeUrl + ":" + nodeUrlPort + "/wd/hub"), desCapabilities);
当我尝试在日食中运行时,以下是我面临的异常。
org.openqa.selenium.WebDriverException: Error forwarding the new session cannot find : Capabilities [{iPhone=Safari, browserName=Safari, platformName=iOS, udid=****, deviceName=Ananda's iPhone, version=10.3.1, platform=MAC}]
Command duration or timeout: 233 milliseconds
Build info: version: '2.53.1', revision: '*****', time: '2016-06-30 19:26:09'
System info: host: 'hostname', ip: 'ipaddress', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.4', java.version: '1.7.0_71'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
请帮帮我解决这个问题。
若要修复所需功能中的问题,请将所需功能的代码更改为
desCapabilities.setCapability("browserName", "Safari");
desCapabilities.setCapability("platformName","iOS");
desCapabilities.setCapability("deviceName", "write the name of the test device (eg: myphone)");
desCapabilities.setCapability(“platformVersion”, "10.3.1");
desCapabilities.setCapability("udid", "write the mobile udid");
版本和平台版本之间存在差异。
平台版本是要在测试中使用的移动操作系统版本。版本是要在测试中使用的浏览器版本。
你可以参考DesiredCapabilities[这里][1]。
[1]: a( https://wiki.saucelabs.com/display/DOCS/Desired+Capabilities+Required+for+Selenium+and+Appium+Testsb( https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities
您需要将 appium 1.6.4 用于 ios 10.3.1。升级您的环境,它将解决问题。请参阅以下链接:
github.com/appium/appium/releases/tag/v1.6.4
Appium 1.6.4 修复了以前版本的许多问题。此版本支持 iOS 10.3 以及 Android 7.1。
对于ios 10及更高版本,您必须使用appium 1.6.x和ios 10.3支持已在appium 1.6.4中提供