setCapability()
setCapability() 方法通过 DesiredCapabilities() 的实例为 WebDriver 实例配置 capabilities,如下所示:
public function testShouldProvideAccessToCapabilitiesUsingSettersAndGetters()
{
$capabilities = new DesiredCapabilities();
// generic capability setter
$capabilities->setCapability('custom', 1337);
// specific setters
$capabilities->setBrowserName(WebDriverBrowserType::CHROME);
$capabilities->setPlatform(WebDriverPlatform::LINUX);
$capabilities->setVersion(333);
$this->assertSame(1337, $capabilities->getCapability('custom'));
$this->assertSame(WebDriverBrowserType::CHROME, $capabilities->getBrowserName());
$this->assertSame(WebDriverPlatform::LINUX, $capabilities->getPlatform());
$this->assertSame(333, $capabilities->getVersion());
}
--no-sandbox
-no-sandbox argument 可以通过ChromeOptions() 的实例添加,进一步可以添加到 DesiredCapabilities() 的实例中,如下所示:
$options = new ChromeOptions();
$options->addArguments(array('--no-sandbox'));
$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
启用直通
enablePassThrough 模式在Selenium Client v3.5.0 中首次引入。 enablePassThrough 允许从测试的 RemoteWebDriver 连接,通过 Grid Hub,连接到 Grid 节点,再连接到 DriverService,然后连接到浏览器以使用相同的 WebDriver 协议(Json Wire 协议或 W3C一)端到端没有翻译。
enablePassThrough 模式可以通过使用参数 -enablePassThrough false 启动独立服务器或网格节点来禁用
随着Selenium Client v3.9.0 的发布和可用性,所有HTTP 通信 都切换到OkHttp。尽管您仍然可以通过将webdriver.http.factory 系统属性设置为apache 来将版本更改回Apache HttpClient。
同时不再支持服务器的passthrough模式。
在这里你可以找到关于enablePassThrough not available for selenium server 3.9.1的详细讨论