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. LAMP(七)之编译安装php(模块化和fpm两种方式)

    安装前说明: 安装环境: CentOS6 安装应用程序:httpd2.4 + mariadb + php 安装次序: 先编译安装 httpd2.4和mariadb,最后安装php 编译安装 httpd ...

  2. Spark学习之路 (十九)SparkSQL的自定义函数UDF[转]

    在Spark中,也支持Hive中的自定义函数.自定义函数大致可以分为三种: UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF( ...

  3. processing data

    获取有效数据 Scikit-learn will not accept categorical features by default API里面不知使用默认的特征变量名,因此需要编码 这里我还是有疑 ...

  4. LeNet, AlexNet, VGGNet, GoogleNet, ResNet的网络结构

    1. LeNet 2. AlexNet 3. 参考文献: 1.  经典卷积神经网络结构——LeNet-5.AlexNet.VGG-16 2. 初探Alexnet网络结构 3.

  5. 中软国际首届嘉年华晚会 创新网络年会PK“春晚”

    随着新年脚步的来临,各大公司的年会陆续出炉,但是中软国际的首届嘉年华晚会,以创新网络年会和全国八地同步进行的模式,演绎不一样的互联网年会,简直可以PK“春晚”.IT届中最漂亮的美女热舞,程序员中最会唱 ...

  6. multiprocessing 方法解析:

    以上是关于进程池的使用,截下来开始介绍如何使用多进程,由于multiprocessing 实现比concurrent.futures 实现更加底层这里还是推荐大家使用concurrent.future ...

  7. 原型链污染(Node.js污染,javasrcipt原型链污染的)

    学习链接: https://www.jianshu.com/p/6e623e9debe3 关于NJS  https://xz.aliyun.com/t/7184 相关题是 GYCTF  ez_expr ...

  8. 小程序y轴拖动

    需求场景 小程序在y轴方向 拖动 一小段距离 解决方案 1.监听 元素 2.绑定 点击 和 移动 事件 3.数据处理 代码 <view animation="{{item.animat ...

  9. 请求 - axios

    实际应用示例 前端不需要做统一的接口防重 前端无法通过判断接口是否返回来释放按钮(因为可以手动刷新页面,将导致刷新前请求丢失) 后端对接口做了防重 通过增加时间戳避免IE9的get请求缓存问题 axi ...

  10. 51Nod 1344 走格子 (贪心)

    有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去.机器人有一个初始能量,每个格子对应一个整数A[i],表示这个格子的能量值.如果A[i] > 0,机器 ...