一、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. Java Properties的使用

    转自:https://www.cnblogs.com/bakari/p/3562244.html 一.Java Properties类 Java中有个比较重要的类Properties(Java.uti ...

  2. Keepalived 介绍 原理

    keepalived是什么: 这里先和前面的LVS 联系一下,我们平时使用一台机器运行 LVS 进行数据的转发,这里会有两个问题1.如果这台LVS 故障了怎么办?整个集群系统都会停止工作2.LVS后端 ...

  3. FastDFS 配置文件 tracker.conf

    FastDFS 版本5.05 配置文件分为三部分   控制器:tracker.conf存储器:storage.conf 客户端:client.conf 文件位置:/etc/fdfs 基本配置(基础配置 ...

  4. 【小方法】navicate for mysql使数据库可以识别中文

    右键选择新建数据库,将字符集与排序规则改成utf-8形式

  5. WebSocket协议分析

    WebSocket协议分析 1.什么是WebSocket协议 WebScoket协议是基于TCP协议建立的全双工通信,所谓的全双工通信就是双向同时通信. 2.WebSocket协议优点 WebSock ...

  6. 智和网管平台SugarNMS 2019年度IT综合监控突破性成果概览

    一元复始,万象更新,欢辞旧岁,喜迎新年. 智和信通,精益求精,携手并进,迎战鼠年! 2020年1月10日,北京智和信通技术有限公司(以下简称“智和信通”)以“2020携手并进”为主题的年度庆典暨201 ...

  7. 前端项目引入Echarts中的dataTool的正确方式

    使用echarts画箱线图时调用echarts.dataTool.prepareBoxplotData() 报错:"echarts.dataTool.prepareBoxplotData i ...

  8. vscode自己常用的快捷键

    (1)快速复制一行 ctrl + alt +

  9. Linux运维--12.手动部署Rabbit集群

    1.安装rabbit组件 10.100.2.51 controller1 10.100.2.52 controller2 10.100.2.53 controller3 #每个节点 yum insta ...

  10. 初窥ECharts

    近来趁着空闲时间了解了一下 ECharts.也顺带记录一番. 首先要从下载ECharts库,这个从官网可以直接下载. 引入ECharts.JS <head> <meta charse ...