最新的selenium测试平台大概有这么几个组件

Selenium Standalone Server: 用来搭建远程测试平台以及分布式测试。

Selenium WebDriver: 最基础的用来创建测试脚本以及用来和上面的server进行交互的客户端的驱动。这个针对不同的开发语言有不同的版本,比如java的,python的,还有C#, Ruby, JavaScript。这个也是Selenium和其他测试工具比比较强大的地方。客户端的脚本你可以选择任一喜欢的语言进行实现,同一个server端都可以执行。

Selenium IDE:录制的plugin,没啥说的,针对不同的浏览器有不同的plugin.可以录制回放,编辑,等等,功能相对webdriver比较弱。值得说的是Selenium IDE也有导出功能,最新版本3.6.0的Firefox上,目前只支持导出Java代码,后续会有其他的代码吧,比较鸡肋,估计支持比较晚。

ThirdParty Driver:这个是用来连接webdriver脚本和浏览器的。比如Firefox上的是Gecko.作用是提供webdriver的HTTP API用于和浏览器通信。最直接的作用就是没有它,你就无法启动浏览器,更别说其他功能。相当于是用来执行webdriver上的API操作到浏览器里。这是一个exe文件。

搭建分布式测试有这些好处:

1. 可以把测试用例分发到不同的机器上,并行运行。这样可以节省大量的时间。

2. 可以搭建不同的测试平台,比如Linux, windows,还有不同的浏览器平台。

3. 就我测试的经验看,有些测试用例必须使用多个机器一起才能实现。比如多用户在线审批流程。

4. 分布式的多并发的测试平台也是一种对系统的压力测试过程,有些问题在单个机器上不会出现,但是多平台一起运行,就会有。

Standalone Server里面有两个基本角色, 这个和交换机非常相似

1. Hub: 类似交换机,拿到client requesit,然后分发

2. Node: 客户端,提交request.

Server搭建有这么几个步骤, server需要机器上已经安装好了java,因为这是一个jar package.

1. 下载selenium-server-standalone-4.0.0-alpha-1.jar.

2. 然后java 启动执行。这里都使用默认值

java -jar selenium-server-standalone-4.0.0-alpha-1.jar -role hub

可以在浏览器访问http://localhost:4444/grid/console

2.把client server加入到hub 里面

1. 下载selenium-server-standalone-4.0.0-alpha-1.jar.

2. 然后java 启动执行。这里都使用默认值

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

刷新下刚才的http://localhost:4444/grid/console 就能看见Node已经加进去了, 最简单的Grid就搭建完毕了。

使用Grid运行测试用例(python代码)

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME) driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=DesiredCapabilities.OPERA) driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=DesiredCapabilities.HTMLUNITWITHJS)

配置Node以及Hub

有两种方式可以配置Node

1. 使用命令行方式

2. 使用JSON文件

具体的参看下面的link

来源参考https://github.com/SeleniumHQ/selenium/wiki/Grid2

Selenium分布式自动化测试平台 Standalone Server 4.0 搭建的更多相关文章

  1. 分布式任务调度平台XXL-Job集群版搭建

    如果集群: 保存后: 启动两个 job 第二个job的配置: # web port server.port=8082 # log config logging.config=classpath:log ...

  2. Python+Selenium - Web自动化测试(一):环境搭建

    清单列表: Python 3x Selenium Chrome Pycharm 一.Python的安装: Python官网下载地址:https://www.python.org/ 1.  进入官网地址 ...

  3. 一文读懂分布式任务调度平台XXL-JOB

    本文主要介绍分布式任务调度平台XXL-JOB(v2.1.0版本),包括功能特性.实现原理.优缺点.同类框架比较等 基本介绍 项目开发中,常常以下场景需要分布式任务调度: 同一服务多个实例的任务存在互斥 ...

  4. 从0到1搭建移动App功能自动化测试平台(2):操作iOS应用的控件

    转自:http://debugtalk.com/post/build-app-automated-test-platform-from-0-to-1-Appium-interrogate-iOS-UI ...

  5. 从0到1搭建移动App功能自动化测试平台(0):背景介绍和平台规划

    本文作者: 伯乐在线 - debugtalk .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 转载地址:http://blog.jobbole.com/101221/ 背景 最近新加入DJI的 ...

  6. selenium项目总结(UI自动化测试平台搭建、测试报告生成、邮件转发)

    最近博主完成了一个web端UI自动化平台测试环境搭建,包括常用的操作流程组合成方法,组织测试用例,利用框架及报告文件生成,最后通过邮件添加附件的格式发送. 首先UI自动化平台的核心是selenium+ ...

  7. Appium 从 0 到 1 搭建移动 App 功能自动化测试平台 (1):模拟器中运行 iOS 应用

    转载:https://testerhome.com/topics/4960 在上一篇文章中,我对本系列教程的项目背景进行了介绍,并对自动化测试平台的建设进行了规划. 在本文中,我将在已准备就绪的iOS ...

  8. 【转载】selenium与自动化测试成神之路

    Python selenium —— selenium与自动化测试成神之路 置顶 2016年09月17日 00:33:04 阅读数:43886 Python selenium —— selenium与 ...

  9. selenium浏览器自动化测试框架文档(修正版)

    写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够在项目中持之以恒的实践自动化测试的团队,却依旧不是非常多.有的团队知道怎么做,做的还不够好:有的团队还 ...

随机推荐

  1. c# 获取 com 引用真实组件地址

    1.根据guid获取 var clsid = new Guid("63EA2B90-C5A8-46F4-8A6E-2F2436C80003").ToString("B&q ...

  2. 详解在Linux下实现(彩色)进度条程序,并通过makefile进行编译.

    彩色进度条的实现与makefile编译: 创建一个process文件,在里面编写实现进度条的代码    1.在编写代码的时候我们首先要区分两个转义字符:\n \r \n:表示换行,换到下一行,并位于起 ...

  3. 宝塔linux面板 解决TP3.2 404

    在配置文件中加入一下配置: location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1; } } location ...

  4. DataFrame对行列的基本操作实战

    1.pandas对行列的基本操作命令: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser ...

  5. 通过Spark Streaming的foreachRDD把处理后的数据写入外部存储系统中

    转载自:http://blog.csdn.net/erfucun/article/details/52312682 本博文主要内容包括: 技术实现foreachRDD与foreachPartition ...

  6. 浅谈SPI总线

    SPI总线概述     SPI全称是串行外设接口(Serial Peripheral Interface),是由Motorola提出的一种全双工同步串行通信接口,通信波特率可以高达5Mbps,但具体速 ...

  7. Apache Atlas元数据管理从入门到实战(1)

    一.前言   元数据管理是数据治理非常重要的一个方向,元数据的一致性,可追溯性,是实现数据治理非常重要的一个环节.传统数据情况下,有过多种相对成熟的元数据管理工具,而大数据时代,基于hadoop,最为 ...

  8. su: Authentication failure问题

    问题: su命令不能切换root,提示错误su: Authentication failure 解决: 使用命令 sudo passwd root 下次再su的时候只要输入密码就可以成功登录了.

  9. 20175236 2018-2019-2 《Java程序设计》第四周学习总结

    教材学习内容总结 子类与父类 java不支持多重继承,即一个子类不可以从多个父类中同时继承,而C++中可以.人们习惯地称子类与父类的关系式“is—a”的关系. 在类的声明过程中,通过关键字extend ...

  10. 2018-2019-2 20175311 实验二 《Java开发环境的熟悉》实验报告

    2018-2019-2 20175303 实验二 <Java开发环境的熟悉>实验报告 一.实验准备 1.了解掌握实验所要用到的三种代码 伪代码 产品代码 测试代码 2.IDEA中配置单元测 ...