首页 > 解决方案 > Safari 不工作在酱实验室免费层使用硒进行网络自动化

问题描述

我正在使用免费层,无法在 safari 和 edge 上使用 selenium 执行测试自动化(即使我正在使用平台配置器中的所需功能)。有时它说:

未创建会话

其他时候它说:

不支持的操作系统或浏览器组合

即使配置是从平台配置器中选择的。我的问题是:

1.是因为免费套餐吗?

2.如果没有,请帮我提供最新的safari配置java代码

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();
    }

标签: seleniumsafariwebautomationsaucelabs

解决方案


在 Sauce Labs 的免费层或免费试用版上使用 Safari 应该仍然有效,所有浏览器平台都应该可供您使用。

我还使用以下配置进行了测试,它有效:

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根据需要添加。


推荐阅读