Node Selenium WebDriver-目标浏览器必须是字符串,但为<对象>
Node Selenium WebDriver - Target browser must be a string, but is <object>
我正在尝试使用node/mocha进行功能测试。
我已经安装了selenium网络驱动程序:
$ npm install selenium-webdriver
和摩卡
$ npm install -g mocha
我正在使用一个运行Selenium的本地Vagrant盒子,可以看到从以下位置开始的会话:
http://localhost:4444/wd/hub/static/resource/hub.html
当我运行测试时,我会得到以下错误:
TypeError: Target browser must be a string, but is <object>; did you forget to call forBrowser()?
这是我的完整测试:
var webdriver = require('selenium-webdriver');
var assert = require('assert');
var test = require('selenium-webdriver/testing');
var driver = new webdriver.Builder();
driver.forBrowser("chrome");
driver.usingServer('http://localhost:4444/wd/hub');
driver.withCapabilities(webdriver.Capabilities.chrome());
driver.build();
test.describe('Google Search', function() {
this.timeout(25000);
test.it('should work', function() {
var driver = new webdriver.Builder().build();
driver.get("http://www.google.com");
driver.findElement(By.name("q")).sendKeys("webdriver");
driver.findElement(By.name("btnG")).click();
driver.getTitle().then(function(title) {
assertEquals("webdriver - Google Search", title);
});
driver.quit();
});
});
最初,声明驱动程序的行都在一行上,但我已经将其拆分,并添加了对forBrowser()的调用,以尝试使其工作。
var driver = new webdriver.Builder().usingServer('http://localhost:4444/wd/hub').withCapabilities(webdriver.Capabilities.chrome()).build();
没有快乐。
我看了看builder.js,似乎功能设置不正确,但我不知道如何修复它-builder.prototype.build在上面的测试中被调用了两次,第一次被称为功能。get(Capability.BROWSER_NAME)返回"chrome",这很好,但第二次被调用时,它有null和bails。我做不出来。
感谢任何指点。
您构建了两次驱动程序。这里一次:
var driver = new webdriver.Builder();
driver.forBrowser("chrome");
driver.usingServer('http://localhost:4444/wd/hub');
driver.withCapabilities(webdriver.Capabilities.chrome());
driver.build();
第二次在这里,在第二行:
test.it('should work', function() {
var driver = new webdriver.Builder().build();
第二次出现是不正确的。事实上,它看起来像是代码早期版本遗留下来的一些代码。
相关文章:
- 如何更改<svg>标记为<img>用js标记
- 如何将字符串拆分为字符,但在javascript中保留空格
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- 列表样式在IE中未设置为none,但在IE中适用
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 将url替换为链接,但添加了困难
- 检索MongoDB binData并显示为<img>src
- Spring Ajax列表返回,但对象为空
- 可以't将几个数字设置为<输入类型=“;数字“>
- 改变所有<td>为特定的桌子点击颜色
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- react router router.HistoryLocation以<noscript>但没有完美的工作
- 管理socket.io中的多个选项卡(但为同一用户)
- 检查html日期是否为>现在
- 为:gt或:lt选择器设置变量零基数
- 如何将数组添加到对象中,但为每个数组元素过滤掉除一列之外的所有列
- Node Selenium WebDriver-目标浏览器必须是字符串,但为<对象>
- 编写一个javascript var="一些文本“;转换为预加载但为空的txt文档
- 如何检查javascript变量是否存在、空、数组、(数组但为空)、未定义、对象等
- Ng重复列出重复但为空的项目