zoukankan      html  css  js  c++  java
  • 39 | 从小作坊到工厂:什么是Selenium Grid?如何搭建Selenium Grid?

    什么是测试基础架构?

    测试基础架构指的是,执行测试的过程中用到的所有基础硬件设施以及相关的软件设施。因此,我们也把测试基础架构称之为广义的测试执行环境。通常来讲,测试基础架构主要包括以下内容:

    • 执行测试的机器;测试用例代码仓库;

    • 发起测试执行的 Jenkins Job;统一的测试执行平台;

    • 测试用例执行过程中依赖的测试服务,比如提供测试数据的统一测试数据平台、提供测试全局配置的配置服务、生成测试报告的服务等;

    “小作坊”模式是人工维护一批数量不多(通常在 30 台以内)的执行测试的机器,然后按需使用。

    存在的问题是:

    测试执行机与测试用例的关系是不透明的,即每个测试用例都需要人为设置测试执行机。

    Selenium Grid

    使用 Selenium Grid 可以让测试机器的选择变得“透明”。也就是说,我们只要在执行测试用例时指定需要的浏览器版本即可,而无需关心如何找到合适的测试执行机。因为,这寻找符合要求的测试执行机的工作,Selenium Grid 可以帮你完成。

    Selenium Grid 的架构特点,天生就能很好地支持测试用例的并发执行。

    Selenium Grid 的架构

    Selenium Hub 用来管理各个 Selenium Node 的注册信息和状态信息,并且接收远程客户端代码的测试调用请求,并把请求命令转发给符合要求的 Selenium Node 执行。

    传统 Selenium Grid 的搭建方法

    通过官网下载 selenium-server-standalone-.jar 文件。这里需要注意的是,不管是 Hub 还是 Node,都使用同一个 JAR 包启动,只是启动参数不同而已。

    基于 Docker 的 Selenium Grid 的搭建方法

    安装 Docker 环境后。

    #创建了Docker的网络grid
    $ docker network create grid
    
    #以Docker容器的方式启动Selenium Hub,并且对外暴露了4444端口
    $ docker run -d -p 4444:4444 --net grid --name selenium-hub selenium/hub:3.14.0-europium
    
    #以Docker容器的方式启动并挂载了Chrome的Selenium Node
    $ docker run -d --net grid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-chrome:3.14.0-europium
    
    #以Docker容器的方式启动并挂载了Firefox的Selenium Node
    $ docker run -d --net grid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-firefox:3.14.0-europium
    
    

    来源于 极客时间 茹炳晟 软件测试52讲

  • 相关阅读:
    异步编程
    写代码写至最有面向对象味道
    GitHub上整理
    用CQRS+ES实现DDD
    前端开发
    让低版本的IE浏览器 强制渲染为IE8 或者 以上 浏览器模式
    NHibernate系列
    hadoop搭建开发环境及编写Hello World
    Linux date -s(转)
    即时编译和打包您的 Groovy 脚本(转)
  • 原文地址:https://www.cnblogs.com/Uni-Hoang/p/13448314.html
Copyright © 2011-2022 走看看