Jos*_*han 2 java selenium node.js selenium-webdriver zalenium
我已经搜索了位于此处的selenium-webdriver的文档(几乎没有)(http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/index_exports_Capabilities.html)
我找不到从Java到NodeJS的等效代码。
这是JAVA中的代码(我将从此处复制到“测试配置选项”部分,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");
Run Code Online (Sandbox Code Playgroud)
特别是,我想设置功能“名称”,以便可以使用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!');
Run Code Online (Sandbox Code Playgroud)
好吧,我找到了答案。原来您只是将其定义为对象中的其他参数。
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();
Run Code Online (Sandbox Code Playgroud)
希望这可以节省一些挫败感。