一,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
来源:简书

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需要多线程远程执行,那么一个比较好的测 ...

随机推荐

  1. nginx简单学习

    1.nginx的安装 .yum解决编译nginx所需的依赖包,之后你的nginx就不会报错了 yum install gcc patch libffi-devel python-devel zlib- ...

  2. javaweb-servlet获取给定文件在服务器上的绝对路径的方法

    1.通过ServletContext获取 在tomcat5,6,7版本中我们可以通过ServletContext来获取给定文件在服务器上的绝对路径. ServletContext context = ...

  3. 面向对象的继承和多态(is-a)

    继承的主要作用:我们使用继承主要是为了避免出现重复的定义,程序中如果出现多个地方有相同的定义,可以把相同程序提取出来定义为父类. 子类继承父类使用extends关键字,子类具备父类所有的属性和方法,包 ...

  4. matlab运行程序时出现failed to start a parallel pool

    运行matlab做并行时得到如下报错: failed to start a parallel pool. (For information in addition to the causing err ...

  5. LeetCode 321. Create Maximum Number

    原题链接在这里:https://leetcode.com/problems/create-maximum-number/description/ 题目: Given two arrays of len ...

  6. 轮播图方法一,把每个slider-item看成一个对象进行轮播

    focus-slider 只用于存放轮播图片,方便修改图片内容 其他的按照默认创建即可. 注意这里的slider.html文件是在 text文件下面  index.html <!DOCTYPE ...

  7. 在CentOS7上面搭建GitLab服务器

    首先要在CentOS系统上面安装所需的依赖:ssh.防火墙.postfix(用于邮件通知).wegt,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问. 1.安装SSH协议 安装命令:sud ...

  8. 结构化异常SEH处理机制详细介绍(二)

    本文将全面阐述__try,__except,__finally,__leave异常模型机制,它也即是Windows系列操作系统平台上提供的SEH模型.SEH实际包含两个主要功能:结束处理(termin ...

  9. salt state.sls windows 传输文件

    salt 安装 - 传输文件  一.master  -- minion linux 下 master 拷贝到 minion 上 1.cp.get_file 拷贝文件 # salt '172.16.3. ...

  10. python下载图片超时的调查

    在使用python3下载图片时, 常用的方法有urlretrieve和requests两种, 不管哪种方法在网速极慢的情况下, 会出现图片下载卡住现象.那如何解决呢? 小编根据网上提供的资料测试了几种 ...