Safari Не работает в sauce labs бесплатный уровень для веб-автоматизации с использованием selenium

#selenium #safari #webautomation #saucelabs

Вопрос:

Я использую бесплатный уровень и не могу выполнить автоматизацию тестирования с помощью selenium в safari и edge (хотя я использую необходимые возможности из конфигуратора платформы) . Иногда это говорит:

сеанс не создан

А в других случаях это говорит:

неподдерживаемая комбинация ОС или браузера

Даже если конфигурация выбрана из конфигуратора платформы. Мои вопросы таковы:

1.Is это из-за свободного уровня?

2.Если нет,пожалуйста, помогите мне с последним java-кодом для настройки safari

testng.xml:

     <test thread-count="5" name="Safari Test">
    <parameter name="browser" value="safari"></parameter>
    <parameter name="platform" value="macOS 10.15"></parameter>
    <parameter name="version" value="latest"></parameter>
    <classes>
        <class name="com.demo.saucelabs.SaucelabsDemo" />
    </classes>
</test> 
 

класс java:

     MutableCapabilities sauceOptions = new MutableCapabilities();
    sauceOptions.setCapability("name", name.getName());
    sauceOptions.setCapability("build", "saucelabs demo");
    sauceOptions.setCapability("seleniumVersion", "3.141.59");
    sauceOptions.setCapability("username", USER_NAME);
    sauceOptions.setCapability("accessKey", ACCESS_KEY);
    
    
    MutableCapabilities capabilities = new MutableCapabilities();
    if (browser.equals("chrome")) {
        ChromeOptions caps = new ChromeOptions();
        caps.setExperimentalOption("w3c", true);
        capabilities = caps;
    }
    else if (browser.equals("firefox")) {
        capabilities = new FirefoxOptions();
    }
    else if (browser.equals("safari")) {
        capabilities = new SafariOptions();
    }
    else if (browser.toLowerCase().equals("microsoftedge")) {
        capabilities = new EdgeOptions();
    }
    capabilities.setCapability("sauce:options", sauceOptions);
    capabilities.setCapability("browserVersion", version);
    capabilities.setCapability("platformName", platform);   
    capabilities.setCapability("browserName", browser);

    try {
        driver = new RemoteWebDriver(new URL(SAUCELABS_URL), capabilities);
    } catch (Exception e) {
        e.printStackTrace();
    }
 

Ответ №1:

Использование Safari в бесплатной или бесплатной пробной версии Sauce Labs должно по-прежнему работать, вам должны быть доступны все браузерные платформы.

Я также провел тест со следующей конфигурацией, и он сработал:

 MutableCapabilities sauceOptions = new MutableCapabilities();

SafariOptions browserOptions = new SafariOptions();
browserOptions.setCapability("platformName", "macOS 10.15");
browserOptions.setCapability("browserVersion", "latest");
browserOptions.setCapability("sauce:options", sauceOptions);
 

который находится в конфигураторе платформы. Я бы сначала попробовал это, а затем добавил по sauce:options мере необходимости.