Node.js selenium-webdriver

6.5. Node.js selenium-webdriver

6.5.1. 安装测试环境
6.5.1.1. Selenium Server

下载 Selenium Serverhttp://selenium-release.storage.googleapis.com/2.40/selenium-server-standalone-2.40.0.jar

启动 Selenium Server

java -jar selenium-server-standalone-2.40.0.jar
			
6.5.1.2. 安装 selenium-webdriver

CentOS 6.5

# yum install nodejs npm 
# npm -g install selenium-webdriver
			

默认node_modules安装在 /usr/lib/node_modules/selenium-webdriver

Ubuntu 13.04

sudo apt-get install nodejs
sudo apt-get install npm
sudo npm -g install selenium-webdriver
			

默认node_modules安装在 /usr/local/lib/node_modules/selenium-webdriver

不是用-g参数npm install selenium-webdriver 将会安装在当前目录下

6.5.1.3. 浏览器相关设置

远程控制Chrome参考

https://code.google.com/p/selenium/wiki/ChromeDriver下载后解压运行里面的可执行文件

var driver = new webdriver.Builder().usingServer('http://192.168.6.20:9515/').withCapabilities(webdriver.Capabilities.chrome()).build();  
			

Firefox 使用

var driver = new webdriver.Builder().usingServer('http://192.168.6.20:4444/wd/hub').withCapabilities(webdriver.Capabilities.firefox()).build();  				
			
6.5.2. 测试例子

例 6.3. Node.js selenium-webdriver 本地测试

selenium-server-standalone 与 测试脚本在同一台机器上

			
var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder().
    withCapabilities(webdriver.Capabilities.chrome()).
    build();

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnK')).click();
driver.wait(function() {
  return driver.getTitle().then(function(title) {
    return title === 'webdriver - Google Search';
  });
}, 1000);

driver.quit();
			
			

例 6.4. NODE.JS selenium-webdriver 远程测试

从一台测试机遥控另台selenium-server-standalone

			
var webdriver = require('/usr/local/lib/node_modules/selenium-webdriver');

var builder = new webdriver.Builder().  
  usingServer('http://192.168.6.20:4444/wd/hub').  
  withCapabilities(webdriver.Capabilities.firefox());  

var driver = builder.build();  

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnK')).click();
driver.wait(function() {
  return driver.getTitle().then(function(title) {
    return title === 'webdriver - Google Search';
  });
}, 1000);

driver.quit();
			
			
6.5.3. Unit Test

安装 mocha

npm install -g mocha
		

测试脚本

var assert = require('assert'),
test = require('selenium-webdriver/testing'),
webdriver = require('selenium-webdriver');

test.describe('Google Search', function() {

	test.it('should work', function() {
		//var driver = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build();
		var driver = new webdriver.Builder().usingServer('http://192.168.6.20:4444/wd/hub').withCapabilities(webdriver.Capabilities.firefox()).build();  
		driver.get('http://www.google.com');
		var searchBox = driver.findElement(webdriver.By.name('q'));
		searchBox.sendKeys('simple programmer');
		searchBox.getAttribute('value').then(function(value) {
			assert.equal(value, 'simple programmer');
		});
		driver.quit();
	});
});
		

运行测试程序

# mocha mocha.js 
  1 passing (10s)
		

测试成功返回1 passing (10s)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用中提到了解决这个错误的方法。可以尝试以下步骤来解决这个问题: 1. 删除_selenium-standalone文件夹: C:\Users\Administrator\Desktop\uitest\node_modules\selenium-standalone\.selenium\chromedriver\latest-x64-chromedriver。 2. 重新安装selenium-standalone: 打开命令行工具,运行命令npm install selenium-standalone@latest -g。 3. 安装所需浏览器的驱动程序: 运行命令selenium-standalone install,这将为Chrome、IE、Firefox和Edge安装相应的驱动程序。 4. 启动WebDriver服务: 运行命令selenium-standalone start。 5. 确保将ChromeDriver的位置添加到PATH环境变量中: 根据引用中的说明,将ChromeDriver的可执行文件所在位置(例如C:\Program Files (x86)\Selenium Drivers)添加到系统的PATH环境变量中。 通过按照以上步骤来解决该错误,您应该能够解决这个问题并成功运行您的测试脚本。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [uirecorder 自动化测试/升级chromedriver](https://blog.csdn.net/weixin_43925725/article/details/123930954)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [UI5-文档-2.4-Node.js-Based开发环境](https://blog.csdn.net/abbilglf665483/article/details/101411711)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值