Selenium Grid

1、默认启动Hub命令
javajarseleniumserverstandalone2.53.1.jarrolehubportHub java -jar selenium-server-standalone-2.53.1.jar -role hub -port 8888

其默认监听端口4444,默认IP是localhost 如果要修改,只需要加-port 参数和-Hubhost
例如:java -jar selenium-server-standalone-2.53.0.jar -role hub -port 1234 -Hubhost 192.168.1.30

可以在浏览器中输入如下地址来检查Hub是否启动成功:
http://localhost:4444/grid/console

查看端口占用:$netstat -a

2、json配置文件
除了在启动命令中指定参数来定制Hub的配置,还可以通过预定义好的配置文件来启动Hub.
这些配置信息可以写在一个json格式的配置文件中
示例:
{
“host”:null,
“port”:4444,
“newSessionWaitTimeout”:”-1”,
“servlets”:[],
“prioritizer”:null;
“capabilityMatcher”:”org.openqa.grid.internal.utils.DefaultCapabilityMatcher”,
“throwOnCapabilityNotPresent”:true,
“nodePolling”:5000,

"cleanUpCycle":5000,
"timeout":300000,
"broserTimeout":0,
"maxSession":5

}
然后通过在启动命令中添加-hubConfig参数来加载该JSON配置文件:
$ java -jar selenium-server-standalone-2.53.1.jar -role hub -hubConfig hub-json-cfg.json

3、默认启动Node
$ java -jar selenium-server-standalone-2.53.1.jar -role node -hub

4、注册Node
在Hub上注册多个不同的Node
一、注册 Mac OS X & Opera
方式一:
javajarseleniumserverstandalone2.53.1.jarrolenodebrowserseleniumProtocol=WebDriver,browserName=opera,version=15,maxInstances=1,platform=MAChubHostlocalhostJSONNodeJSONclass:org.openqa.grid.common.RegistrationRequest,capabilities:[seleniumProtocol:WebDriver,browserName:openqa,version:15,maxInstances:1,platform:MAC],configuraton:proxy:org.openqa.grid.selenium.proxy.DefaultRemoteProxy,maxSession:5,port:5555,host:localhost,register:true,registerCycle:5000,hubPort:4444,hubHost:localhost,JSON java -jar selenium-server-standalone-2.53.1.jar -role node -nodeConfig node-json-mac-openqa.cfg.json

二、注册Linux & Firefox
$ java -jar selenium-server-standalone-2.53.1.jar -role node -browser “seleniumProtocol = WebDriver,browserName = firefox,version = 25,firefox_binary = /home/selenium2/firefox25/firefox,maxInstances = 2,platform = LINUX” -hubHost 192.168.0.104

三、注册Windows & Internet Explorer
seleniumProtocol设置为Selenium,表示执行模式为Remote Control(legacy)
$ java -jar selenium-server-standalone-2.53.1.jar -role node -browser “seleniumProtocol = Selenium,browserName = iexplore,version = 10,maxInstances = 4,platform = WINDOWS” -hubHost 192.168.0.104

知识补充:
selenium的projects包含如下几个方面:
1.Selenium IDE 、 2.Selenium Remote Control 、 3.Selenium Grid 、4.Selenium WebDriver
1. Selenium IDE作为Firefox上的一个插件,提供录制功能,个人观点,如果能手写代码,就不要用这个东西。
2. Selenium Remote Control是一个客户端/服务器系统,可以在本地或在其他电脑上控制Web浏览器,使用几乎任何编程语言和测试框架。
3. Selenium Grid 可以远程的控制到并在多个服务器上同时运行测试
4. Selenium WebDriver可以在本地或远程计算机上的驱动浏览器

四、注册Andriod & Chrome
设置转发端口,其作用是确保主机与Android模拟器或者真机可以进行通信
./adbsforwardtcp:8080tcp:8080linuxsocat访AndroidWebDriverServer. sudo apt-get install socat
$socat TCP-LISTEN:8889,for TCP:localhost:8080
通过上面的设置,就可以在网络上任意一个地方通过如下地址来访问Andoid WebDriver Server 了: http://hostname:8889/wb/hub

接下来注册Android 和自带Chrome浏览器组合的Node到Hub
$ java -jar selenium-server-standalone-2.53.1.jar -role node -browser “seleniumProtocol = Selenium,browserName = android,version = 4,maxInstances = 1,platform = ANDROID” -port 8889 -hubHost 192.168.0.104

编写Selenium Grid的测试用例
需添加如下代码来使已有的测试用例代码能运行在Selenium Grid 环境中(执行模式为WebDriver)
DesiredCapabilities firefoxCap = DesiredCapabilities.firefox();

firefoxCap.setBrowserName(“firefox”);
firefoxCap.setVersion(“25”);
firefoxCap.setPlatform(“Linux”);

WebDriver driver = new RemoteWebDriver(new URL(“http://localhost:4444/wd/hub“),firefoxCap);

如上述代码所示,需通过DesiredCapabilities来设置测试用例适用的浏览器名称、浏览器版本和操作系统平台,这样就可以确保该测试用例被Hub分配到同时满足以上三个条件的Node上执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值