Selenium WebDriver + Grid2 + RSpec之旅(二)----Grid2的配置
Selenium WebDriver + Grid2 + RSpec之旅(二)
----Grid2的配置
为什么要使用Selenium-Grid
- 分布式运行大规模的TestCase
- 能够通过一个中央节点,很容易的运行不同OS上的不同Browser
- 最小化对Grid的维护时间,充分利用虚拟设备
- 减少测试人员的工作量,提高测试效率
Selenium-Grid的部署与启动
Hub:总控节点,连接调用Node,负责分配用例到对应的Node节点所在的执行器上Node
Node:负责执行TestCase,启动浏览器
由于作者苦逼屌丝一枚,资源有限,就以一台机器为例,版本对应selenium-server-standalone-2.37.0.jar:
启动Hub:
通过windows的DOS窗口进入selenium-server-standalone-2.37.0.jar所在目录
执行命令java -jar selenium-server-standalone-2.37.0.jar -role hub 启动hub,运行界面如下:
在浏览器中访问:http://localhost:4444/grid/console可以查看Hub状态。
Hub默认启动端口为4444,如果要修改端口的话,就在命令后面加参数 -port 。如要修改端口为9999,执行命令为:
java -jar selenium-server-standalone-2.37.0.jar -role hub -port 9999
启动Node:
Node可以不和Hub部署在不同的机器上,在这里我们是部署在同一台机器上,方法和启动Hub类似,只是命令不同
java -jar selenium-server-standalone-2.37.0.jar -role node -hub http://localhost:4444/grid/register -browser browserName="internet explorer",version=10,platform=WINDOWS
Node默认启动端口是5555,如果要换端口的话,方法和Hub一样后面加-port参数,这里http://localhost:4444/grid/register指的是Hub的地址,如果Hub的IP为192.168.1.100端口为5678的话,应该为http://192.168.1.100:5678/grid/register
如果要启动Firefox和chrome的话 同样也可以添加Node,添加的时候要注意防止端口冲突
java -jar selenium-server-standalone-2.37.0.jar -Dwebdriver.firefox.bin="C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -role webdriver -hub http://localhost:4444/grid/register -browser browserName=firefox -port 6666
java -jar selenium-server-standalone-2.37.0.jar -Dwebdriver.chrome.driver="D:\BrowserDriver\chromedriver.exe" -role webdriver -hub http://localhost:4444/grid/register -port 7777 -browser browserName=chrome
然后,在浏览器中访问:http://localhost:4444/grid/console可以查看Hub状态
至此,Selenium Grid2已经配置成功了。
Node配置
在浏览器中访问:http://localhost:4444/grid/console,把鼠标放到各个浏览器图标上,就可以看到Node的配置信息
内容类似:
{ "platform": "VISTA",
"seleniumProtocol": "WebDriver",
"browserName": "firefox" }
其中,seleniumProtocol就是定义的协议了。
如何修改Driver配置呢?可以从启动参数里操作。
browser browserName="internet explorer",version=10,platform=WINDOWS
那Node默认启动的配置是什么呢?
由于如果从启动参数里,配置这个多东西,很难写的。因此,官方很人性化的提供了JSON文件来配置。也就是说默认启动的配置如下: http://code.google.com/p/selenium/source/browse/trunk/java/server/src/org/openqa/grid/common/defaults/DefaultNode.json
如果想自定义配置,直接对json文件修改,启动时,指定配置文件就可以了。
java -jar selenium-server-standalone-2.37.0.jar -role hub -hubConfig hubconfig.json 仅仅就这样就行了?从博文http://www.shenyanchao.cn/blog/2012/10/12/selenium-multiple-browser-support/知道,浏览器的启动是要制定一些driver位置的,否则Node不知道怎么启动浏览器实例。因此需要进行指定:
java -jar selenium-server-standalone-2.37.0.jar -port 7777 -role node -hub http://10.81.14.180:8888/grid/register -nodeConfig nodeconfig.json -Dwebdriver.chrome.driver="D:\BrowserDriver\chromedriver.exe"
参考文档: http://code.google.com/p/selenium/wiki/Grid2
Selenium WebDriver + Grid2 + RSpec之旅(二)----Grid2的配置的更多相关文章
- Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例
Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例 自动化测试和手工测试一样,是要有测试用例,有检查点和测试结果的,接下来我们通过RSp ...
- Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行
Selenium WebDriver + Grid2 + RSpec之旅(六) ----多浏览器的并行执行 由于浏览器的发展,浏览器种类繁多.为了保证系统能在各种浏览器上叱咤风云,减少测试人员的测试工 ...
- Selenium WebDriver + Grid2 + RSpec之旅(五)---面向对象设计用例
Selenium WebDriver + Grid2 + RSpec之旅(五) ----面向对象设计用例 前几节讲了怎么一步一步的从零开始到编写出一个简单的测试用例,这一节将要讲一下怎么让测试用例变得 ...
- Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子
Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1 ...
- Selenium WebDriver + Grid2 + RSpec之旅(一)----准备篇
Selenium WebDriver + Grid2 + RSpec之旅(一) ----准备篇 前言 在Web 2.0 应用中,在浏览器种类盛行的时代,我们在测试过程中不仅要模 ...
- selenium webdriver API详解(二)
本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:获取当前页面的title(一般获取title用于断言) from s ...
- Selenium (2) —— Selenium WebDriver + Grid2(101 Tutorial)
Selenium (2) -- Selenium WebDriver + Grid2(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standa ...
- selenium webdriver 学习笔记(二)
selenium webdriver 一.定位一组元素: webdriver可以很方便的使用findElement 方法来定位某个物定的对象.不过有时候我们却要定位一组对象,这时候就需要使用findE ...
- Python3 Selenium自动化web测试 ==> 第十一节 WebDriver高级应用 -- 显示等待 + 二次封装
学习目的: 掌握显示等待 掌握二次封装 正式步骤: step1:显示等待的代码示例 # -*- coding:utf-8 -*- from selenium import webdriver from ...
随机推荐
- java新手笔记1 Hello World!
//Hello.java文件 //类声明 public class Hello{ //声明方法 main程序入口 public static void main (String[] args) { S ...
- 16_MyBatis中期小结
[MyBatis是什么] MyBatis是一个持久层框架,Mybatis是一个不完全的ORM框架,SQL语句需要程序员自己去编写,但是MyBatis也有映射(输入参数映射.输出结果映射). MyBat ...
- windows server 2008镜像重启后密码变为默认密码的问题的解决方案
1. cmd中执行regedit,打开注册表: 修改HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Cloudbase Solusions\Cloudbase-Init ...
- Codevs 3287 货车运输 2013年NOIP全国联赛提高组(带权LCA+并查集+最大生成树)
3287 货车运输 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 传送门 题目描述 Description A 国有 n 座 ...
- 使用GitHub For Windows托管Visual Studio项目
本文写得比较早,更新的在VS上使用GitHub的文章请移步:Visual Stuido 2015 Community 使用 GitHub 插件 因为最近同时再看很多技术方面的书,书上的例子有很多自己想 ...
- 【BZOJ3270】【高斯消元】博物馆
Description 有一天Petya和他的朋友Vasya在进行他们众多旅行中的一次旅行,他们决定去参观一座城堡博物馆.这座博物馆有着特别的样式.它包含由m条走廊连接的n间房间,并且满足可以从任何一 ...
- Sdut 2165 Crack Mathmen(数论)(山东省ACM第二届省赛E 题)
Crack Mathmen TimeLimit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Since mathmen take security ...
- 排序算法——QuickSort、MergeSort、HeapSort(C++实现)
快速排序QuickSort template <class Item> void quickSort (Item a[], int l, int r) { if (r<=l) ret ...
- 【转】PHP网站常见安全漏洞,及相应防范措施总结
---恢复内容开始--- 目前,基于PHP的网站开发已经成为目前网站开发的主流,本文笔者重点从PHP网站攻击与安全防范方面进行探究,旨在减少网站漏洞,希望对大家有所帮助! 一.常见PHP网站安全漏洞 ...
- CentOS安装+配置+远程
这篇博客我之前写在了csdn,转了过来,这篇是自己认为写的比较有技术含量的文章^_^ 最近和CentOS打了交到,其中遇到了很多问题,于是看了一些博客,解决了一些问题,但是都不是特别全面,所以想来一篇 ...