一,selenium grid是什么?

selenium是一个用于UI自动化测试的工具。

selenium grid是selenium家族中的三大组件的一员。selenium grid有两个版本,grid1和grid2,。目前grid1已经基本被废弃了。grid2的出版要晚于selenium2,所以grid2支持selenium2的所有的功能。

二、为什么要用grid?

1,当我们在selenium webdriver中写好了各种脚本时,我们可能需要在不同的系统里,不同的浏览器下去运行。

2,我们的一个系统,可能有上万条用例需要执行。我们又不希望用例在回归时一条一条被执行,而是希望能够节省时间的批量执行用例。

基于以上两点,我们需要这个强大的组件grid。

三、grid可以做些什么?

1,selenium grid不是用来写脚本代码的,只负责运行。所以我们的脚本还是需要利用webdriver,在我们的开发环境中去写好。

2,selenium grid给我们提供了两个东西。一个叫hub,一个叫node。

3,hub被称为总控节点。他是你加载所有的测试机器,一个grid里面只有一个hub。打个比方:hub就像我们的交换机,他负责接通网线,把网络分发给后面的各种设备,不管我们是用手机上网,还是电脑上网,都是连着我们的交换机。grid中的hub,总管着的是脚本代码。

4,node称之为节点。他就好比我们的连接网络的各个终端设备,比如电脑,比如手机,iPad之类等等。所以grid中,可以有很多个node,node用于接收代码,且在不同的浏览器中运行代码。

四、grid怎么用?

1,准备文件

grid其实也和webdriver一样是一个jar包,而且grid是在dos命令行下去执行的。所以我们最好将grid所要用到的所有文件,都放在某个根目录下的文件夹中,方便使用。

2,打开命令行启动hub

在命令行中输入命令:

java jar selenium-server-standalone-2.53.0.jar –role hub

说明:

1,selenium-server-standalone-2.53.0.jar 为文件夹中,jar包的名字。

2,-role hub 告诉命令行,你本次注册的角色是hub

3,grid默认的端口是4444,如果需要改端口,可以在该命令后面直接加上参数-port 5555

4,也可以通过外部的json文件修改hub的相关配置。后面跟上参数-hubConfig 【json文件名】(确保json文件是正确的)

5,hub启动后,可以通过http://localhost:4444/grid/console查看hub的相关信息。

3,启动node

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

说明:

1,-role node 表示此次我们注册的是node节点。

2,-hub http://localhost:4444/grid/register 表示我此次注册的node节点,是注册到我上次启动的hub中的。localhost:表示的其实是ip地址,如果是想要自己机子上注册,那就用本机的地址注册。如果要实现多台机器的注册,那么要先保证hub,和node的机子在同一个局域网中。

3,同样可以通过外部文件修改node的配置。

node配置文件展示

4,修改脚本,运行脚本

脚本中第一要修改的地方,是启动webdriver浏览器的地方

URL中的一串网址:为你电脑中的hub注册的地址。

修改好脚本就可以运行,运行后,你会在http://localhost:4444/grid/console地址中,看到浏览器有置灰。表示成功运行grid中的节点成功运行。

链接:https://www.jianshu.com/p/d011fd3d9b79
来源:简书

最新文章

  1. JSP学习笔记
  2. mvc路由,mvc区域
  3. 每天一个linux命令(39):grep 命令
  4. HR人力资源战略流程制定
  5. javascript事件代理(Event Delegation)
  6. runtime运行机制方法学习
  7. 静态类和静态类成员(C# 编程指南)
  8. Spark Tungsten揭秘 Day4 内存和CPU优化使用
  9. php调用linux命令
  10. ReactNative for Android入坑(一)
  11. hdu2795--Billboard
  12. Android 锁屏状态/锁屏密码等相关
  13. UIRoot
  14. 【Java基础】【15Colletion集合】
  15. HTTP 返回状态码
  16. Python 12 - Mysql & ORM
  17. linux的基本操作2
  18. [转]SQL server2008 导入超大SQL脚本文件(超过10M)
  19. Fiddler抓包3-查看get与post请求
  20. maven 如何引入本地jar包

热门文章

  1. (二)WCF的Binding模型
  2. 三种Timer
  3. lambda 函数的用法
  4. YAML_06 playbook从上往下顺序执行,若报错,不提示,继续往下执行
  5. 【概率论】5-7:Gama分布(The Gamma Distributions Part I)
  6. [转] Hadoop入门系列(一)Window环境下搭建hadoop和hdfs的基本操作
  7. 第12组 Alpha冲刺(3/6)
  8. Intellij IDEA 从入门到上瘾 图文教程
  9. python提取计算结果的最大最小值及其坐标
  10. Ubuntu16.04Apache负载均衡+集群