Selenium Webdriver NodeJ相当于Java代码,用于实现所需的功能

Selenium Webdriver NodeJ相当于Java代码,用于实现所需的功能,java,node.js,selenium,selenium-webdriver,zalenium,Java,Node.js,Selenium,Selenium Webdriver,Zalenium,我已经浏览了SeleniumWebDriver的文档(只有很少的文档),位于这里() 我不知道Java到NodeJS的等效代码是什么 这是JAVA中的代码(我从这里的测试配置选项部分复制) 我特别想设置功能“name”,这样我就可以用Zalenium命名测试。 如何在NodeJS中执行此操作? 这是我当前的selnium webdriver代码,它可以工作(并且经过编辑以删除敏感信息),但没有设置测试名称。我尝试过这个.withCapabilities(webdriver.Capabilitie

我已经浏览了SeleniumWebDriver的文档(只有很少的文档),位于这里()

我不知道Java到NodeJS的等效代码是什么

这是JAVA中的代码(我从这里的测试配置选项部分复制)

我特别想设置功能“name”,这样我就可以用Zalenium命名测试。

如何在NodeJS中执行此操作?

这是我当前的selnium webdriver代码,它可以工作(并且经过编辑以删除敏感信息),但没有设置测试名称。我尝试过这个.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!');

好的,我找到答案了。事实证明,您只是将其定义为对象中的额外参数

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

希望这能帮你省去一些挫折。

谢谢你,谢谢你发布这篇文章。他到处找。仅供参考,一些真正的字符串需要是布尔值。至少与geckodriver-v0.26.0、selenium 3.8.1、nodejs 10和Centos6配合使用

const driver = new webdriver.Builder()
      .forBrowser('firefox')
      .withCapabilities({"browserName": "firefox","acceptSslCerts": true,"acceptInsecureCerts": true})
      .setFirefoxOptions(options)
      .build();

这是我刚才正在努力做的事情。但是,我正在使用WebDrivero,它在配置文件中具有所有功能,因此在测试文件中很难实现这些功能。干得好:),如果您有其他问题,请告诉我。
const driver = new webdriver.Builder()
      .forBrowser('firefox')
      .withCapabilities({"browserName": "firefox","acceptSslCerts": true,"acceptInsecureCerts": true})
      .setFirefoxOptions(options)
      .build();