[英]Running Selenium on NodeJs
This is my first attempt with selenium-webdriver
on NodeJs
in Windows 7
environment.这是我在Windows 7
环境中在NodeJs
上使用selenium-webdriver
第一次尝试。 Here is what I have done to try to make it work:这是我为使其工作所做的工作:
NodeJs 7.5
(officially supported by Selenium as noted on their Git https://github.com/SeleniumHQ/selenium/tree/master/javascript/node/selenium-webdriver )已安装NodeJs 7.5
(Selenium 官方支持,如其 Git https://github.com/SeleniumHQ/selenium/tree/master/javascript/node/selenium-webdriver 所述)selenium-webdriver
using npm
使用npm
安装selenium-webdriver
chromedriver.exe 2.27
to "C:\\Selenium Utilities\\chromedriver"
将chromedriver.exe 2.27
下载到"C:\\Selenium Utilities\\chromedriver"
chromedriver
to my PATH
as C:\\Selenium Utilities\\chromedriver;
将chromedriver
添加到我的PATH
作为C:\\Selenium Utilities\\chromedriver;
Added my first test from Selenium Git page:从 Selenium Git 页面添加了我的第一个测试:
var webdriver = require('selenium-webdriver'), By = webdriver.By, until = webdriver.until; var driver = new webdriver.Builder() .forBrowser('chrome') .build(); driver.get('http://www.google.com/ncr'); driver.findElement(By.name('q')).sendKeys('webdriver'); driver.findElement(By.name('btnG')).click(); driver.wait(until.titleIs('webdriver - Google Search'), 1000); driver.quit();
Tried running test via node test.js
尝试通过node test.js
运行测试
As a result, I get error saying (excerpts):结果,我收到错误消息(摘录):
"...throw new Error('Do not know how to build driver: ' + browser" “...抛出新错误('不知道如何构建驱动程序:'+浏览器”
"Error: Do not know how to build driver: C; did you forget to call usingServer(url)?" “错误:不知道如何构建驱动程序:C;您是否忘记调用 usingServer(url)?”
What am I doing wrong?我究竟做错了什么? Do I need to run a separate Selenium server in order to run this?我是否需要运行单独的 Selenium 服务器才能运行它?
Your code looked fine to me, so I ran it to check that.你的代码对我来说很好,所以我运行它来检查。 I can confirm it runs fine (on macOS Sierra).我可以确认它运行良好(在 macOS Sierra 上)。 Here's a link to the repo I created . 这是我创建的 repo 的链接。
It looks like you might need to extend the wait for the page title though, sometimes I found loading Google's page title took longer than a second.看起来您可能需要延长等待页面标题的时间,有时我发现加载 Google 的页面标题需要超过一秒钟的时间。
Another option would be to try a hosted service, rather than setting up your own selenium server.另一种选择是尝试托管服务,而不是设置您自己的 selenium 服务器。 There are a variety available, I've just made Obehave for exactly this purpose.有很多可用的,我只是为了这个目的而制作了Obehave 。 There is zero setup required - you can start writing your tests straight away.需要零设置 - 您可以立即开始编写测试。
Install the chromedriver via npm.通过 npm 安装 chromedriver。
npm install chromedriver --save-dev
Then add chrome on top of the js:然后在js之上添加chrome:
var chrome = require('selenium-webdriver/chrome');
Finally script:最后脚本:
var webdriver = require('selenium-webdriver'),
By = webdriver.By, until = webdriver.until;
var webdriver = require('selenium-webdriver');
var chrome = require('selenium-webdriver/chrome');
var driver = new webdriver.Builder()
.forBrowser('chrome')
.build();
driver.get('http://www.google.com/ncr').then(function(){
driver.findElement(By.name('q')).sendKeys('webdriver');
driver.findElement(By.name('btnK')).click();
driver.quit();
});
chrome 驱动程序版本和安装的 chrome 必须兼容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.