2016-11-08 12 views
1

Я могу запустить мой скрипт в трех браузерах с помощью saucelabs, но мне нужно запустить его на мобильных устройствах, а также на ipad. Может ли кто-нибудь помочь мне, как я могу добавить желаемые возможности? Мой код выглядит следующим образом:Как выполнить скрипт тестирования selenium в android, iOS, ipad с помощью saucelabs

public static Object[][] sauceBrowserDataProvider(Method testMethod) { 
    return new Object[][]{ 
      //new Object[]{"internet explorer", "11", "Windows 8.1"}, 
      //new Object[]{"firefox", "44", "Windows 7"}, 
      new Object[]{"browser", "44", "Android"}, 
      new Object[]{"chrome", "51","Windows 7"}, 
      new Object[]{"firefox", "44","iOS"} 
    }; 
} 

private WebDriver createDriver(String browser, String version, String os) throws MalformedURLException { 
    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(CapabilityType.BROWSER_NAME, browser); 
    if (version != null) { 
     capabilities.setCapability(CapabilityType.VERSION, version); 
    } 
    capabilities.setCapability(CapabilityType.PLATFORM, os); 
    capabilities.setCapability("name", "Sauce Sample Test"); 
    webDriver.set(new RemoteWebDriver(
      new URL("http://" + authentication.getUsername() + ":" + authentication.getAccessKey() + "@ondemand.saucelabs.com:80/wd/hub"), 
      capabilities)); 
    sessionId.set(((RemoteWebDriver) getWebDriver()).getSessionId().toString()); 
    return webDriver.get(); 
} 

@Test(dataProvider = "hardCodedBrowsers") 
public void webDriver(String browser, String version, String os) throws Exception { 
     WebDriver driver = createDriver(browser, version, os); 
} 

Используя этот код, я могу работать в трех браузерах, но не смог запустить мобильные устройства. Пожалуйста, помогите мне.

ответ

0

Есть у пытался что-то вроде этого:

capabilities.setCapability(CapabilityType.deviceName, "Google Nexus 7 HD Emulator"); 
capabilities.setCapability(CapabilityType.browserName, "Safari"); 

Я пытался что-то подобное с BrowserStack и она работает.

Пожалуйста, дайте мне знать.

+0

Да, я тоже пробовал этот. но он не работает. –

+0

Привет, что вы имеете в виду, не работая? Вы получили сообщение об ошибке? Вы могли это исправить? – pjcalvo

0

частный WebDriver createDriver() бросает MalformedURLException {

DesiredCapabilities caps = new DesiredCapabilities(); 

    /*capabilities.setCapability("platformName", platformName); 
    capabilities.setCapability("deviceName", deviceName); 
    capabilities.setCapability("platformVersion", platformVersion); 
    //capabilities.setCapability("app", this.appURI); 
    capabilities.setCapability("browserName", browserName); 
    capabilities.setCapability("deviceOrientation", deviceOrientation); 
    capabilities.setCapability("appiumVersion", appiumVersion);*/ 

    caps.setCapability("appiumVersion", "1.5.3"); 
    caps.setCapability("deviceName","iPhone 6s Simulator"); 
    caps.setCapability("deviceOrientation", "portrait"); 
    caps.setCapability("platformVersion","9.1"); 
    caps.setCapability("platformName", "iOS"); 
    caps.setCapability("browserName", "Safari"); 

}

Я добавил этот код на свой сценарий и свой рабочий мелкий now.Thank вы, ребята

0

Вы можете использовать QMetry Automation Framework где вы можете указать configuration внешний код.

Вам необходимо использовать удаленный драйвер и установить следующие свойства, чтобы указать ваше исполнение на лабораторных условиях.

remote.server=http://username:[email protected]:80/wd/hub 
remote.port=80 

Предоставить соответствующие возможности водителя. См. setting driver capabilities.

Примечание: убедитесь, что вы предоставляете удаленный драйвер в имени драйвера. например

driver.name=firefoxRemoteDriver