Start Hub
IP: 192.168.0.22
命令行启动Hub:
C:\>java -jare:\selenium-server-standalone-2.37.0.jar –role hub –port 4444
可选参数:
l -port (缺省 4444)为默认hub所在服务器(jetty)端口为4444,服务启动之后,可以通过 http://localhost:4444/grid/console 访问Grid Console已查看各节点状态
l -timeout (缺省 30 s),当某节点在指定时间未收到任何请求时,该节点会被释放加入到其它队列中,可以使Client不会一直处于挂起状态
l -maxSession (缺省 5) ,在节点最大并行运行的浏览器个数,这个不同于节点中浏览器的maxInstance
前者为最大启动的浏览器个数,后者为同一版本浏览器最大实例数
使用Json配置Hub:
C:\>java -jar selenium-server-standalone-2.37.0.jar-role hub -hubConfig hubconfig.json
hubConfig.json如下:
{
"host": null,
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"prioritizer": null,
"capabilityMatcher":"org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"nodePolling": 5000,
"cleanUpCycle": 5000,
"timeout": 60,
"browserTimeout": 60,
"maxSession": 5,
"jettyMaxThreads":-1
}
配置超时:
为了维持测试运行完整性,在grid中提供了另外两种超时设置,如下:
-timeout: 单位(秒),在启动hub命令行参数中指定,当客户端崩溃指定时间后,grid会回收所有资源
-browserTimeout:单位(秒),在启动hub命令行参数中指定,当Node浏览器处于挂起状态指定时间后,grid会回收所有资源
注:webdriver API中,webDriver.manage().timeouts()设置不同操作的超时在grid中同样生效;
在Hub中配置两个参数值后,会对所有Node生效,当然也可以局部地在Node上配置(官方不推荐);
对于browserTimeout应该高于socket锁超时(45 s),另外,由于该超时是最后防线,也应高于webDriver.manage().timeouts()指定的超时时间
Start Node
IP: 192.168.0.143
命令行启动节点:
C:\>java -jar e:\selenium-server-standalone-2.30.0.jar-role node –hub http://192.168.0.22:4444/grid/register
注:缺省情况下,Node默认端口为5555;
-hub参数指定Grid Hub接受节点注册的地址;
为了兼容Selenium1.0,-role 的参数值可以使用(wd / rc),当使用node时可以接受webdriver 和 RC两者的连接实例
命令行配置节点:
缺省情况,grid会启动11个浏览器实例, 5 Firefox, 5 Chrome, 1 Internet Explorer.,最大并发执行测试数目为5,
我们可以通过配置-browser参数来更改关于浏览器的默认配置,一旦更改将覆写缺省配置
Example_1: 以下配置将在Linux环境下启动5个Firefox3.6实例
-browser browserName=firefox,version=3.6,maxInstances=5,platform=LINUX
Example_2: 如果你的远程机器有多个版本的Firefox或其他浏览器,可以使用如下配置
-browser browserName=firefox,version=3.6,firefox_binary=/home/myhomedir/firefox36/firefox,maxInstances=3,platform=LINUX
-browser browserName=firefox,version=4,firefox_binary=/home/myhomedir/firefox4/firefox,maxInstances=4,platform=LINUX
注:如果参数中的value字符串中包含空格,可以使用双引号包裹字符串。
使用JSon配置节点:
C:\>java -jar e:\selenium-server-standalone-2.30.0.jar -role node -nodeConfige:\selenium\node.json
Node.json如下:
{
"capabilities":[
{
"browserName":"firefox",
"maxInstances": 2, 当前版本浏览器实例化最大个数
"seleniumProtocol":"WebDriver"
},
{
"browserName": "internet explorer",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
}
],
"configuration":
{
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 2, 最大并行执行的测试任务
"port": 5555,
"host": 192.168.0.143,
"register": true,
"registerCycle": 5000, 该节点向hub发出注册请求的频率,单位毫秒ms
"hubPort": 4444,
"hubHost": 192.168.0.22
}
}
使用Grid运行测试
对于WebDriver而言,你需要使用RemoteWebDriver和DesiredCapabilities对象来定义你将要在什么平台下运行测试,例如浏览器,浏览器版本,操作系统,示例如下
DesiredCapabilities capability =DesiredCapabilities.firefox();
capability.setBrowserName(“firefox” );
capability.setPlatform(“LINUX”);
capability.setVersion(“3.6”);
WebDriver driver = new RemoteWebDriver(newURL("http://localhost:4444/wd/hub"), capability);
以上脚本将会匹配如下配置的节点
-browser browserName=firefox,version=3.6,platform=LINUX
主节点 和子节点默认时间是5秒。如果子节点死了,在这五秒内客户端发起请求。就会导致线程卡死。
因为这时候主节点还认为子节点还存在。所以
相关推荐
selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium
selenium selenium selenium
Selenium_v2.5 Selenium_v2.5 Selenium_v2.5 Selenium_v2.5Selenium_v2.5 Selenium_v2.5
selenium RC与selenium webdriver的区别
Selenium
selenium
昨天群里有朋友问我selenium入门例子,我今天抽了点时间写了一段简单的代码,此代码适合刚刚学习selenium的人员参考,此代码是selenium2 RC 调用chrome driver访问百度,输入Jack_test 搜索. 代码里面含资源包:selenium...
用一段时间后,觉得Selenium 确实是一个很不错的Web 测试工具。在和强大的QTP 比较后,我最后还是选择了使用 Selenium,主要的原因是工具使用灵活,简单,并且完全满足我的要求。而QTP 虽然强大,但它的使用让我觉得...
Selenium是ThoughtWorks公司开发的一套基于WEB应用的测试工具,直接运行在浏览器中,模拟用户的操作,主要包括三个部分selenium-IDE,selenium-core,selenium-rc 。它可以被用于单元测试,回归测试,冒烟测试,集成...
Selenium IDE 插件
Selenium 官方中文文档
selenium.jar selenium资源包
由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。 (6).Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。 (7)....
Selenium 服务器(selenium-server-4.1.1.jar)
Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案例(效果类似数据驱动测试),它是Selenium IDE和Selenium RC的引擎。 2....
在c# 中应用selenium的一些写法
在刚做测试的一年多时间里,笔者对各种测试技术和工具有着强烈的兴趣和学习欲望,再加上工作较为空 闲,所以有幸接触到 QTP、Selenium 等自动化测试工具,由于当时水平有限,学习也只停留在录制与回放的水 平上。...
关于Selenium WebDriver工作原理的介绍,原理相关描述
python selenium文件,python selenium文件,python selenium文件