selenium - 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();
}
解决方案
在 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
根据需要添加。
推荐阅读
- node.js - 数据在数据库中发生变异但未更新
- r - 在 R 中更改系统发育中的尖端标签
- javascript - 如何停止打印“[object Object]”而不是对象本身?
- php - 使用imagick将AI文件转换为PNG
- extjs - 如何为 ext.js 网格中新添加的记录应用过滤器?
- javascript - 如何将 Winston 限制为每个日志文件只有 1 个文件描述符
- flutter - 如何访问 showModalBottomSheet 中提供的 (Provider.of()) 值?
- c# - 在基于网格的游戏中将对象放置在多个单元格上
- javascript - Discord JS:我将如何创建打开/关闭命令?
- mysql - 如何使用 GROUP_CONCAT 获取行 ID 的数据?