Selenium Grid分布式测试入门

发表于:2017-11-27 08:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:liangww    来源:博客园

  本文对Selenium Grid进行了完整的介绍,从环境准备到使用Selenium Grid进行一次完整的多节点分布式测试
  运行环境为Windows 10,Selenium版本为 3.5.0,Chrome版本为62,Firefox版本为56,IE版本为11。
  1. Selenium Grid简介
  Selenium Grid允许你在多台机器的多个浏览器上并行的进行测试,即分布式测试。
  通常,以下两种情况会需要使用Selenium Grid:
  1) 通常多个浏览器的兼容性测试,即在不同浏览器或不同操作系统的浏览器中进行测试
  2) 测试用例较多时,可以通过分布式测试减少测试执行时间
  2. Selenium Grid结构
  Selenium Grid由一个中心hub及多个节点node组成(类似于其他分布式系统的matser-slave),其中hub用来管理各个node的注册和状态信息,并且接受远程客户端代码的请求调用,然后把请求再转发给node来执行。
  3. 环境准备
  由于Selenium Grid的hub及node启动时需要java环境,所以首先需要安装JDK。
  3.1 JDK环境
  1. 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 选择Java SE 8u151/ 8u152,点击JDK下载
  3. 安装下载的JDK
  4. 配置系统环境变量
  3.2 selenium-server-standalone下载
  1. selenium-release官网地址:http://selenium-release.storage.googleapis.com/index.html
  2. 下载与本机selenium 3.5.0匹配的版本:selenium-server-standalone-3.5.0.jar
  2. 拷贝selenium-server-standalone-3.5.0.jar至本地工作目录下,如D:\grid
  3.3 webdriver下载
  3.3.1 IE
  1) 还是在刚才的页面:http://selenium-release.storage.googleapis.com/index.html?path=3.5/
  2) 下载与selenium版本、系统均匹配的IEDriver版本:IEDriverServer_Win32_3.5.0.zip
  3.3.2 Chrome
  1) 下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads
  2) 下载与系统及浏览器版本匹配的driver版本:chromedriver_win32.zip
  3.3.3 Firefox
  1) 下载地址:https://github.com/mozilla/geckodriver/releases
  2) 下载与系统及浏览器版本匹配的driver版本:geckodriver-v0.19.1-win64.zip
  driver下载完成解压后,分别拷贝IEDriverServer.exe,geckodriver.exe,chromedriver.exe至Python安装路径(如C:\Python27\)下即可
  上述selenium-server-standalone 及webdriver,我已上传至百度网盘,下载链接: https://pan.baidu.com/s/1i4MBpXF 密码: ygdy
  4. Selenium Grid启动
  4.1 启动hub
  hub启动命令如下:
  java -jar selenium-server-standalone-3.5.0.jar -role hub
  其中 -role指定角色为hub,通过下图可以看到:hub已使用默认4444端口启动成功,且node可以通过http://localhost:4444/grid/register/进行注册
  4.2 启动node
  node启动命令如下:
  java -jar selenium-server-standalone-3.5.0.jar -role node -port 5555 -hub http://localhost:4444/grid/register
  其中 -role指定角色为node, -port指定端口为 5555, -hub指定连接hub地址,通过下图可以看到node已成功连接hub
  同理我们另外启动两个 node(使用端口号分别为5556/5557):
  java -jar selenium-server-standalone-3.5.0.jar -role node -port 5556 -hub http://localhost:4444/grid/register
  java -jar selenium-server-standalone-3.5.0.jar -role node -port 5557 -hub http://localhost:4444/grid/register
  此时打开页面http://localhost:4444/grid/console,可以看到我们启动的三个node:
  4.3 更好的启动方法 — bat脚本
  1. 新建一个文件selenium_grid.bat,写入我们刚才启动hub及node的命令:
cd /d D:\grid
start java -jar selenium-server-standalone-3.5.0.jar -role hub
start java -jar selenium-server-standalone-3.5.0.jar -role node -port 5555 -hub http://localhost:4444/grid/register
start java -jar selenium-server-standalone-3.5.0.jar -role node -port 5556 -hub http://localhost:4444/grid/register
start java -jar selenium-server-standalone-3.5.0.jar -role node -port 5557 -hub http://localhost:4444/grid/register
  1) 第一行是进入并修改当前目录为存放 selenium-server-standalone-3.5.0.jar的目录:D:\grid
  2) 后面三行stat java...是分别打开新的cmd窗口用以启动hub及node
  2. 双击selenium_grid.bat即可启动hub及node
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号