selenium grid的使用
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的使用的更多相关文章
- 搭建selenium grid简单配置
1.使用selenium提供的服务端独立jar包 :服务端.客户端都是运行于java7环境. 2.启动hub: hub配置文件如下: Java -jar selenium-server-standal ...
- Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试
最近一段时间,公司在推行自动化测试流程,本人有幸参与了自定义通用控件的关键字封装和脚本辅助编写.数据驱动管理.测试用例执行管理等一系列工具软件的研发工作,积累了一些经验,在此与大家做一下分享,也算是做 ...
- Selenium Grid 学习笔记
Selenium Grid 学习笔记http://www.docin.com/p-765680298.html
- 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 ...
- selenium Grid(一)
selenium grid Quick Start selenium-grid是用于设计帮助我们进行分布式测试的工具,其整个结构是由一个hub节点和若干个代理节点组成.hub用来管理各个代理节点的注册 ...
- selenium Grid
Selenium Grid 的机制是启动一个 hub,然后启动多个 Selenium RC 注册到 hub 上, 当测试请求到 hub 时,hub 会将测试分发给 Selenium RC, Selen ...
- selenium grid java 资料
Grid TestNG: 使用Selenium Grid改进Web应用程序的测试: http://www.ithov.com/server/117464.shtml
- Selenium Grid跨浏览器-兼容性测试
Selenium Grid跨浏览器-兼容性测试 这里有两台机子,打算这样演示: 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub(系统windows 浏览器为ie) ip为:192.16 ...
- selenium grid的使用与配置
一.selenium grid的组成与作用:由一个集线器hub和多个客户机node组成,如果你的程序需要在不用的浏览器,不同的操作系统上测试,而且比较多的case需要多线程远程执行,那么一个比较好的测 ...
- 转:Selenium Grid深入学习
应网友要求写一个用Selenium Grid控制多系统多浏览器并行执行test case的例子. 因为我这里有两台机子,我打算这样演示: 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub ...
随机推荐
- HTML连载65-过渡模块的基本使用
一.过渡模块的基本使用 1.*:hover;这个伪类选择器除了可以用在a标签上,还可以用在其他任何标签上. 2.过渡三要素: (1)必须要有属性发生变化:(2)必须告诉系统哪个属性需要执行过渡效果:( ...
- 2020牛客寒假算法基础集训营4-F树上博弈
链接:https://ac.nowcoder.com/acm/contest/3005/F来源:牛客网 题目描述 现有一个 n 个点,n-1条边组成的树,其中 1 号点为根节点. 牛牛和牛妹在树上玩游 ...
- vue报错There are multiple modules with names that only differ in casing. This can lead to unexpected behavior when compiling on a filesystem with other case-semantic. Use equal casing. Compare these mod
今天在开发一个新项目时,当安装完依赖包启动项目后报了一个这个错 There are multiple modules with names that only differ in casing.Thi ...
- x86 openwrt编译备忘录
无需自己同步官方openwrt源码,采用Lean的openwrt源码是极好的,感谢Lean长久的坚持. https://github.com/coolsnowwolf/lede 准备工作 注意 不要用 ...
- Mysql注入汇总!!!!!!!!!
师傅tpl!!!!! https://xz.aliyun.com/t/7169[对MYSQL注入相关内容及部分Trick的归类小结] https://www.jianshu.com/p/f261125 ...
- 859. Kruskal算法求最小生成树(模板)
给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数. 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible. 给定一张边带权的无向图G=(V, E),其中V表示 ...
- Struts2-057远程代码执行漏洞(s2-057/CVE-2018-11776)复现
参考了大佬的链接:https://github.com/jas502n/St2-057 00x01前言 Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用 ...
- VScode usage
Common settings editor.minimap.enabled //close the preview workbench.editor.show tabs // show f ...
- python 中 if __name__ == '__main__' 判断的作用
假设这样一个a.py文件 def fun1(): ........ def fun2(): ......... if __name__=='__main__': ......#执行的一些语句 当你执行 ...
- leetcode top-100-liked-questions刷题总结
一.起因 宅在家中,不知该做点什么.没有很好的想法,自己一直想提升技能,语言基础自不必言,数据结构还算熟悉,算法能力一般.于是乎,就去刷一通题. 刷题平台有很多,我选择了在leetcode进行刷题.回 ...