Selenium grid是用来分布式执行测试用例脚本的工具,比如测试人员经常要测试多浏览器的兼容性,那就可以用到grid了。

selenium grid的hub相当于一个接收脚本并分发脚本的角色,node相当于一个执行脚本的角色。

(一)

1、从http://selenium-release.storage.googleapis.com/index.html上下载对应版本的Selenium server:

你使用的是什么版本的selenium就下载对应版本的server(我用的是3.141.59)

2、下载下来后打开cmd,进入到jar包所在的文件目录,输入java -jar selenium-server-standalone-x.xx.x.jar -role hub,这是万恶之源,先启它才能干后面的事。

java -jar selenium-server-standalone-3.141.59.jar -role hub

启动后在浏览器输入http://192.168.201.1:4444/可以访问,并可以看到一些默认配置

修改默认配置的方法

(1)直接命令行修改,启动的时候带上需要修改的配置,如下:修改端口号为4445

java -jar selenium-server-standalone-3.141.59.jar -role hub -port 4445

(2)新建一个json文件去修改 (hub.json与jar包不是同一目录下,需要带上json文件所在路径)

java -jar selenium-server-standalone-3.141.59.jar -role hub -hubConfig hub.json  

json文件格式如下:

(二)

将node服务注册到hub下

打开cmd输入以下:

java -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.201.1:4444/grid/register

提示意见注册了node,端口号为1667

注册成功界面

同样可以修改默认配置,与上述修改配置方法一样。

(1)cmd命令行修改

如果端口号已经被一个node节点占用了,那么我们可以修改默认端口号,相当于重新注册一个新的node,如下:

java -jar selenium-server-standalone-3.141.59.jar -role node -hub http://192.168.201.1:4444/grid/register -port 7777  

这时已经注册了两个node了,一个为1667,一个为7777

(2)外部json文件修改配置

新建一个json文件去修改 (node.json与jar包不是同一目录下,需要带上json文件所在路径)

java -jar selenium-server-standalone-3.141.59.jar -role node -nodeConfig node.json -hub http://192.168.201.1:4444/grid/register 

json文件格式如下:

****所有的配置的文件(浏览器驱动,json,jar包等等)都需要放在同一个目录底下,不然可能会报一些不知名错误

也可以配置phantomjs,方法都一样。

grid:一个脚本在不同(多台或一台)机器不同浏览器上执行

xml文件:配置脚本单个跑还是并发跑还是以什么方式去跑

grid+xml:多个脚本同时在不同机器不同浏览器上跑(并发跑)。

selenium grid的使用的更多相关文章

  1. 搭建selenium grid简单配置

    1.使用selenium提供的服务端独立jar包 :服务端.客户端都是运行于java7环境. 2.启动hub: hub配置文件如下: Java -jar selenium-server-standal ...

  2. Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试

    最近一段时间,公司在推行自动化测试流程,本人有幸参与了自定义通用控件的关键字封装和脚本辅助编写.数据驱动管理.测试用例执行管理等一系列工具软件的研发工作,积累了一些经验,在此与大家做一下分享,也算是做 ...

  3. Selenium Grid 学习笔记

    Selenium Grid 学习笔记http://www.docin.com/p-765680298.html

  4. Selenium Grid 运行报错 Exception thrown in Navigator.Start first time ->Error forwarding the new session Empty pool of VM for setup Capabilities

    Selenium Grid 运行报错 : Exception thrown in Navigator.Start first time ->Error forwarding the new se ...

  5. selenium Grid(一)

    selenium grid Quick Start selenium-grid是用于设计帮助我们进行分布式测试的工具,其整个结构是由一个hub节点和若干个代理节点组成.hub用来管理各个代理节点的注册 ...

  6. selenium Grid

    Selenium Grid 的机制是启动一个 hub,然后启动多个 Selenium RC 注册到 hub 上, 当测试请求到 hub 时,hub 会将测试分发给 Selenium RC, Selen ...

  7. selenium grid java 资料

    Grid TestNG: 使用Selenium Grid改进Web应用程序的测试: http://www.ithov.com/server/117464.shtml

  8. Selenium Grid跨浏览器-兼容性测试

    Selenium Grid跨浏览器-兼容性测试 这里有两台机子,打算这样演示: 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub(系统windows 浏览器为ie) ip为:192.16 ...

  9. selenium grid的使用与配置

    一.selenium grid的组成与作用:由一个集线器hub和多个客户机node组成,如果你的程序需要在不用的浏览器,不同的操作系统上测试,而且比较多的case需要多线程远程执行,那么一个比较好的测 ...

  10. 转:Selenium Grid深入学习

    应网友要求写一个用Selenium Grid控制多系统多浏览器并行执行test case的例子. 因为我这里有两台机子,我打算这样演示: 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub ...

随机推荐

  1. GitKraken 快速配置 SSH Key

    快速使用 GitKraken 配置SSH keys git是现在最流行的版本管理工具,应用范围非常广泛,推荐一款git的可视化工具,这款 工具特别方便 它的官方如下https://www.gitkra ...

  2. vs2015运行时提示未加载vcruntime140.adm64.pb

    后调试查看发现 vs2015运行时提示未加载vcruntime140.adm64.pb 解决方案:去微软官网下载安装 vc_redist.exe ,安装就可以了.有64位版和32位版,根据计算机配置进 ...

  3. densenet思路 以及和残差网络区别,pytorch实现

    densenet思路 以及和残差网络区别,pytorch实现 待办 densenet思路以及和残差网络区别.以及densenet的pytorch实现 https://zhuanlan.zhihu.co ...

  4. 在RYU中实现交换机的功能

    首先源码,解析部分如下,同时可以参考RYU_BOOK上的解释说明  原文链接参考:https://blog.csdn.net/qq_34099967/article/details/89047741 ...

  5. Edit页面返回ViewBag json字符串与前端js交互

    很多时候,在打开一个新页面的时候,后端需要同时传一个json字符串给前端页面,但是我们又不能把action的返回值改为string,这时候我们就需要用到ViewBag将json字符串传回到前端,前端j ...

  6. 大json直接序列化成dataset

    rtnDs= JsonConvert.DeserializeObject<DataSet>(strBuff);

  7. pip 更换镜像源

    国内的pip源 阿里云:https://mirrors.aliyun.com/pypi/simple/ 清华:https://pypi.tuna.tsinghua.edu.cn/simple 中国科技 ...

  8. 重新机兵回归(MMR)

    重新机兵回归记录 S/L法 Save / Load 法 . 在关键战斗前,先save一把 , 在结算奖励后如果奖励不好 , 再重新load再来过 . 比如说拿红牡丹等 . 还可以在逃跑时用此法 . 随 ...

  9. C 库函数 - modf()

    C 库函数 - modf() C 标准库 - <math.h> 描述 C 库函数 double modf(double x, double *integer) 返回值为小数部分(小数点后的 ...

  10. 一些java基础知识的备忘

    接口和抽象类的区别是什么? 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法. 接口中除了static.final变量 ...