出错:请确保在Appium v​​1.0.0中指定'deviceName'功能

时间:2014-05-05 11:05:25

标签: java ios automation selenium-webdriver appium

我无法在设备上或模拟器上运行我的脚本。 它给出了以下错误:

error: Could not determine your device from Appium arguments or desired capabilities. 
Please make sure to specify the 'deviceName' capability

它早期与Appium v​​0.18.2一起工作,但是当我将它更新到v1.0.0 - Orion时,它会发出此错误。

我尝试过:

[1] capabilities.setCapability("deviceName", "iPhone Simulator");

[2] capabilities.setCapability("device", "iPhone Simulator");    

[3] capabilities.setCapability("device", "iPhone");  

[4] capabilities.setCapability("deviceName", "iPhone");  

我的其他功能设置如下:

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");

capabilities.setCapability(CapabilityType.VERSION, "7.1");

capabilities.setCapability(CapabilityType.PLATFORM, "Mac"); 

capabilities.setCapability("app", "/Users/smriti/Abc.app");

driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

需要设置此deviceName。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

您需要同时指定设备名称

capabilities.setCapability("deviceName", "iPhone Simulator");

和平台名称

capabilities.setCapability("platformVersion", "iOS");

请参阅migration docs1.0 desired capabilities

答案 1 :(得分:0)

public static void androidSetup() {
        DesiredCapabilities capabilities = DesiredCapabilities.android();
        capabilities.setCapability("deviceName", "Samsung");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("platformVersion", System.getProperty("deviceOS"));
        capabilities.setCapability("app", System.getProperty("user.dir") + ".apk file");
        capabilities.setCapability("appPackage", "package name");
        capabilities.setCapability("appActivity", "Activity name");
        driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        //driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:" + System.getProperty("environment") + "/wd/hub"), capabilities);

    }

    public static void iosSetup() throws MalformedURLException{
        File classpathRoot = new File(System.getProperty("user.dir"));
        File appDir = new File(classpathRoot, "/build/");
        File app = new File(appDir, ".ipa file");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("platformName","iOS");
        capabilities.setCapability("udid","2dc3bf20559d41565d9f1fd08f738183d9a54ead");
        capabilities.setCapability("platformVersion", "8.4");
        capabilities.setCapability("bundleId","com.xyz");
        capabilities.setCapability("deviceName", "Brattys");
        capabilities.setCapability("app", app.getAbsolutePath());
        driver = new IOSDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }