Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Appium Sauce Labs-不支持的操作系统/浏览器/版本/设备组合_Java_Selenium_Appium_Saucelabs_Desiredcapabilities - Fatal编程技术网

Java Appium Sauce Labs-不支持的操作系统/浏览器/版本/设备组合

Java Appium Sauce Labs-不支持的操作系统/浏览器/版本/设备组合,java,selenium,appium,saucelabs,desiredcapabilities,Java,Selenium,Appium,Saucelabs,Desiredcapabilities,我正试图在Saint Labs中设置我的第一个Appium测试(不是本机或混合应用程序),在尝试设置我的功能时,我得到了WebDriverException: org.openqa.selenium.WebDriverException: Unable to parse remote response: Misconfigured -- Unsupported OS/browser/version/device combo: OS: 'unspecified', Browser: 'iphone

我正试图在Saint Labs中设置我的第一个Appium测试(不是本机或混合应用程序),在尝试设置我的功能时,我得到了WebDriverException:

org.openqa.selenium.WebDriverException: Unable to parse remote response: Misconfigured -- Unsupported OS/browser/version/device combo: OS: 'unspecified', Browser: 'iphone', Version: '11.2.2.', Device: 'iPhone Simulator'`
下面是我设置CAP的步骤:

public static DesiredCapabilities CreateAppiumCapabilities(String browser, String version, String platform,String device, String methodName) { 
DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setCapability(MobileCapabilityType.PLATFORM_NAME, platform); 
caps.setCapability(MobileCapabilityType.PLATFORM_VERSION, version); 
caps.setCapability(MobileCapabilityType.DEVICE_NAME, device); 
caps.setCapability(MobileCapabilityType.AUTOMATION_NAME,"XCUITest"); 
caps.setCapability(MobileCapabilityType.BROWSER_NAME, browser); 
caps.setCapability("appiumVersoin", "1.7.2"); 
caps.setCapability("name", methodName); 
System.out.println(caps); 
return caps;
然后,在我的testBase.java文件中运行以下命令:

private ThreadLocal<IOSDriver> iosDriver = new ThreadLocal<IOSDriver>();

...
...
...

DesiredCapabilities capabilities = SauceUtils.CreateAppiumCapabilities(browser, version, platform, device, methodName);
                String url = SauceUtils.getURL();
                iosDriver.set(new IOSDriver(new URL(url), capabilities));
                sessionId.set(((IOSDriver) getIosDriver()).getSessionId().toString());
以下是实际测试:

public class AppiumTest extends TestBase {
    @Test(dataProvider = "appium", groups = "Appium", description = "simple appium test")
    public void appiumTest(String browser, String version, String platform, String device, Method method) throws Exception {
        this.createDriver(browser, version, null, method.getName(), device, platform);
        IOSDriver<WebElement> mobiledriver = getIosDriver();
        mobiledriver.get("http://appium.io/");
        Assert.assertEquals(mobiledriver.getCurrentUrl(), "http://appium.io/", "URL Mismatch");
        Assert.assertEquals(mobiledriver.getTitle(), "Appium: Mobile App Automation Made Awesome.", "Title Mismatch");
    }
}

我不知道我在这里做错了什么,非常感谢所有的帮助!:)

从上面粘贴的代码中可以看出,“appiumVersion”功能中存在键入错误:

caps.setCapability("appiumVersoin", "1.7.2"); 
应该是

caps.setCapability("appiumVersion", "1.7.2"); 

哈哈,是的,似乎就是这样。第一篇帖子是因为打字错误。当然了,哈哈。谢谢
caps.setCapability("appiumVersoin", "1.7.2"); 
caps.setCapability("appiumVersion", "1.7.2");