修改打开远程Web驱动程序时的超时值



我们正在使用第三方提供商针对我们没有的浏览器和设备运行一些Selenium测试。其中一个是iPad。

目前,我们用Ruby中的以下代码打开/实例化网络驱动程序:

driver = Selenium::WebDriver.for(:remote, :url => url, :desired_capabilities => capabilities)

如果我们启动Chrome或FireFox的实例,那么在与第三方服务运行时效果非常好。然而,对于iOS,他们会用iOS模拟器启动虚拟机,通常在sim浏览器准备好之前,上面的调用会超时。他们承认他们的虚拟机启动时间可能会更好。

但事实就是这样。就实际的下一步而言,有没有一种方法可以在创建远程网络驱动程序时自定义超时值?

您使用的第三方是什么?这是偶然的SauceLabs吗?

我不确定这是否通用,但您应该能够在所需的功能对象上设置超时配置。以下是我的java测试项目中的一些示例代码:

/**
 * Sets the default capabilities for the RemoteWebDriver we use for SauceLabs
 *
 * @param capabilities the capabilities to set defaults to
 * @return the DesiredCapabilities object after setting the default values
 */
private static DesiredCapabilities setDefaultCapabilities(DesiredCapabilities capabilities)
{
    // Set job some defaults
    capabilities.setCapability("max-duration", DEFAULT_TEST_TIMEOUT);
    capabilities.setCapability("command-timeout", DEFAULT_COMMAND_TIMEOUT);
    capabilities.setCapability("idle-timeout", DEFAULT_IDLE_TIMEOUT);
    capabilities.setCapability("selenium-version", DEFAULT_SELENIUM_VERSION);
    // Additional settings to help debugging and improve job perf
    capabilities.setCapability("public", "share");
    capabilities.setCapability("webdriver.remote.quietExceptions", false);
    capabilities.setCapability("capture-html", true);
    capabilities.setCapability("video-upload-on-pass", false);
    return capabilities;
}

以下是SauceLabs的功能文档:https://docs.saucelabs.com/reference/test-configuration/

最新更新