• 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讲

  • 相关阅读:
    目前加尼福尼亚自动驾驶公司测试公司————20150529
    DDR3
    Linux mysql 5.7: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    macOS 10.12,解决如何打开隐私中的任何来源方法
    git查看某个文件的提交历史
    ios-deploy命令
    sed简用
    啊,栈溢出了
    二叉树题目总结(一)
    线段树(二)
  • 原文地址:https://www.cnblogs.com/Uni-Hoang/p/13448314.html
Copyright © 2020-2023  润新知