一、Selenium Grid介绍

1、概念

Selenium Grid组件专门用于远程分布式测试或并发测试,通过并发执行测试用例的方式可以提高测试用例的执行速度和效率,解决界面自动化测试执行速度过慢的问题

2、可以怎么做

使用此组件可以在一台计算机上给多台计算机(不同操作系统和不同版本浏览器环境)分发多个测试用例从而并发执行,大大提高了测试用例执行效率,基本满足大型项目自动化测试的时限要求和兼容性要求

3、版本

1.0版本

2.0版本,最多可以远程控制5个浏览器

4、工作模式

  Selenium Grid使用Hub和Node模式,一台计算机作为Hub(管理中心)管理其他多个Node(节点)计算机,Hub负责将测试用例分发给多台Node计算机执行,并收集多台Node计算机执行结果的报告,汇总后提交一份总的测试报告

4.1、Hub

1.在分布式测试模式中,只有一台作为Hub的计算机

2.Hub负责管理测试脚本,并负责发送脚本给其他Node节点。

3.所有的Node节点计算机必须先在作为Hub的计算机中进行注册,注册成功后再和Hub计算机通信,Node节点计算机会告知Hub自己的相关信息,例如,Node节点的操作系统和浏览器的相关版本

4.Hub计算机可以给自己分配执行测试用例的任务

5.Hub计算机分发的测试用例任务会在各个Node计算机节点执行

4.2、Node

1.在分布式测试模式中,可以有一个或者多个Node节点

2.Node节点会打开本地的浏览器完成测试任务并返回测试结果给Hub

3.Node节点的操作系统和浏览器版本无需和Hub保持一致

4.在Node节点上可以同时打开多个浏览器并行执行测试任务

二、Selenium Grid使用方法

2.1、测试环境准备

1、下载JDK 1.8,安装bin并配置环境变量

2、Hub计算机和Node计算机均访问 http://www.seleniumhq.org/download

下载‘Selenium Standalone Server’中的jar文件  selenium-server-standalone-x.xxx.xx.jar

3、Hub计算机上打开CMD窗口,将当前工作目录切换到 jar文件所在目录,执行:java -jar selenium-server-standalone-3.141.59.jar -role hub

(-role hub:启动一个Hub服务,作为分布式管理中心,等待WebDriver客户端进行注册和请求,默认接收注册地址为 http://localhost:4444/grid/register,默认启动该端口为4444)

4、在Hub计算机的Firefox浏览器访问 http://localhost:4444/grid/console,如果访问的网页中显示‘view config’的链接,表示可以访问次网站。讲locahost换成本机的真实ip依然可以正常访问

CMD -- ipconfig 查看IP地址。

localhost 换成IP地址名称(可不做)

5、Node计算机中打开CMD窗口,将当前工作目录切换到 jar文件所在目录,执行:java -jar selenium-server-standalone-3.141.59.jar -role webdriver -hub http://localhost:4444/grid/register -port 6655 -browser browserName='chrome'(或:browserName='firefox' 或-browser browserName='ie')

(1)role:参数值webdriver表示Node(节点)的名字

(2)hub:参数值表示管理中心的URL地址,Node会链接这个地址进行节点注册

(3)port:参数值表示Node节点服务的端口号为6655,建议使用大于5000的端口号

6、再次访问 http://localhost:4444/grid/console,验证Node节点是否已在Hub上注册成功,注册成功如图所示。
从此页面可以获取到节点计算机允许不同种类的浏览器打开多少个实例,验证节点计算机执行命令行的正确性。

2.2、编写分布式执行的测试脚本

1、使用chrome浏览器访问百度首页,输入关键字‘selenium’进行搜索,验证搜索结果的页面源码中包含'selenium'关键字。

2、执行脚本,Node计算机会自动启动chrome浏览器执行测试脚本,执行完毕后在Hub计算机上可以看到自动化测试的执行结果。

Selenium3+python自动化016-Selenium Grid的更多相关文章

  1. selenium3+python自动化50-环境搭建(firefox)

    前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodri ...

  2. selenium3+python自动化50-环境搭建(firefox)【转载】

    前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodri ...

  3. web端自动化——Selenium3+python自动化(3.7版本)-chrome67环境搭建

    前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Sel ...

  4. Selenium3+python自动化006-环境搭建

    一.selenium简介 1.Selenium历史 (1)Selenium 1.0: Selenium IDE      Selenium Grid    Selenium RC(核心功能) Sele ...

  5. web端自动化——Selenium3+python自动化(3.7版本)-火狐62版本环境搭建

    前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Sel ...

  6. Selenium3+python自动化010-UnitTest框架简介和单元测试框架使用

    一.UnitTest介绍 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过, ...

  7. Selenium3+python自动化006+自动化测试概述

    自动化测试概述 1.自动化分类: (1)单元测试自动化: 单元测试(Unit):模拟各种异常场景,外部依赖较少,且可以做测试单元到最小的一种测试方法. Java单元测试框架Junit.TestNG; ...

  8. selenium+python自动化105 - selenium 如何在已打开的浏览器上继续运行自动化脚本?

    前言 使用selenium 做web自动化的时候,经常会遇到这样一种需求,是否可以在已经打开的浏览器基础上继续运行自动化脚本? 这样前面的验证码登录可以手工点过去,后面页面使用脚本继续执行,这样可以解 ...

  9. Python自动化测试之selenium从入门到精通

    1. 安装selenium 首先确保python安装成功,输入python -V 在windows下使用pip安装selenium,详情如图所示: 在ubuntu下使用pip install sele ...

随机推荐

  1. spark sql 执行计划生成案例

    前言 一个SQL从词法解析.语法解析.逻辑执行计划.物理执行计划最终转换为可以执行的RDD,中间经历了很多的步骤和流程.其中词法分析和语法分析均有ANTLR4完成,可以进一步学习ANTLR4的相关知识 ...

  2. 编译原理实验之SLR1文法分析

    ---内容开始--- 这是一份编译原理实验报告,分析表是手动造的,可以作为借鉴. 基于  SLR(1) 分析法的语法制导翻译及中间代码生成程序设计原理与实现1 .理论传授语法制导的基本概念,目标代码结 ...

  3. Hapi+MySql项目实战数据库操作(四)

    数据库访问 下面以Node的ORM框架Sequelize来操作数据库,Mysql为例. 配置数据库连接信息config/db_config.js: //db_config.js module.expo ...

  4. VFP9利用_GdiPlus类处理图片分辨率及缩放

    VFP利用GDI来处理图片,已经不是一件太难的事了.GdiPlus类就是专门来干这事的,有关其属性等请参考其它资料.下面将处理图片缩放及分辨率的代码示例贴出来.这些代码都是很久以前的了,由于新冠宅家无 ...

  5. php 安装扩展插件实例-ftp.so

    工作记录一下   1.首先进入原始php包安装文件(不是安装后的文件,是下载php安装压缩包,解压后的那个文件)安装包里有个扩展文件夹ext,进入 #cd /home/php-5.3.3/ext/#l ...

  6. zabbix-server配置文件详解

    zabbix官方文档:https://www.zabbix.com/documentation/4.0/zh/manual zabbix-server端的配置文件在/etc/zabbix/zabbix ...

  7. 多版本python创建虚拟环境

    不表示默认的python使用 mkvirtualenv -p c:\python27\python.exe  test1,即 mkvirtualenv -p  要安装的版本的python.exe路径  ...

  8. Emmet:HTML/CSS代码快速编写

    html缩写: 1.  初始化 HTML文档需要包含一些固定的标签,比如<html>.<head>.<body>等,现在你只需要1秒钟就可以输入这些标签.比如输入“ ...

  9. 6.【Spring Cloud Alibaba】API网关-SpringCloudGateway

    SpringCloud Gateway是什么?优缺点分析 springCloud Gateway优点 springCloud Gateway缺点 编写SpringCloundGateway pom.x ...

  10. C# protobuf自动更新cs文件

    网上的教程大都是手动通过protoc编译, 比较难用 给当前工程添加"Google.Protobuf"和"Grpc.Tools"的引用(通过nuget), 然后 ...