Selenium-Webdriver NodeJS相当于Java代码的DesiredCapabilities

我已经在selenium-webdriver位于这里( http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/index_exports_Capabilities.html )search文档(这里没有什么)

我找不到从Java到NodeJS的等效代码。

这里是JAVA中的代码(我从这里复制testingconfiguration选项部分, https://github.com/zalando/zalenium/blob/master/docs/usage_examples.md#initial-setup )

DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); desiredCapabilities.setCapability(CapabilityType.BROWSER_NAME, BrowserType.FIREFOX); desiredCapabilities.setCapability(CapabilityType.PLATFORM, Platform.LINUX); desiredCapabilities.setCapability("name", "myTestName"); 

特别是我想设置能力“名称”,所以我可以用Zalenium命名我的testing。

我如何在NodeJS中做到这一点?

这是我目前的selnium webdriver代码,它的工作(和编辑删除敏感信息),但不设置testing名称。 我试过这个.withCapabilities(webdriver.Capabilities.chrome(),{“name”,“chrometest”}),它编译,但我不认为它做什么?

 //Run using this project (https://github.com/qmu/dockerfiles/blob/master/src/selenium-webdriver-node/example/bin/run) "use strict"; const webdriver = require('selenium-webdriver'), By = webdriver.By, until = webdriver.until, test = require('selenium-webdriver/testing'); //const expect = require('expect.js'); const assert = require('assert'); var driver = new webdriver.Builder() .withCapabilities(webdriver.Capabilities.chrome()) .usingServer('http://localhost:4444/wd/hub') .build(); console.log('starting chrome...'); driver.manage().timeouts().implicitlyWait(10 * 1000);//10 seconds driver.get('http://somewebsite.tech'); driver.findElement(webdriver.By.name('_username')).sendKeys('**'); driver.findElement(webdriver.By.name('_password')).sendKeys('**'); driver.findElement(webdriver.By.css("button")).click(); driver.quit(); //FIREFOX TESTS console.log('starting firefox...'); var driver = new webdriver.Builder() .withCapabilities(webdriver.Capabilities.firefox()) .usingServer('http://localhost:4444/wd/hub') .build(); driver.manage().timeouts().implicitlyWait(30 * 1000);//10 seconds driver.get('http://somewebsite.tech/'); driver.findElement(webdriver.By.name('_username')).sendKeys('**'); driver.findElement(webdriver.By.name('_password')).sendKeys('**'); driver.findElement(webdriver.By.css("button")).click(); driver.quit(); console.log('all modules are ready!'); 

好的,我find了答案。 原来你只是把它定义为一个对象中的额外参数。

 var driver = new webdriver.Builder() .withCapabilities({'browserName': 'chrome','name':'Chrome Test','tz':'America/Los_Angeles','build':'Chrome Build','idleTimeout':'60'}) .usingServer('http://localhost:4444/wd/hub') .build(); 

希望这可以节省一些挫折。