当前位置: 首页 > news >正文

39 | selenium基础架构,UI测试架构

什么是测试基础架构?

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

  •         执行测试的机器;测试用例代码仓库;
  •         发起测试执行的 Jenkins Job;
  •         统一的测试执行平台;
  •         测试用例执行过程中依赖的测试服务,比如提供测试数据的统一测试数据平台、提供测试全局配置的配置服务、生成测试报告的服务等;

Selenium Grid

        目前最常用也是主流的测试分布式执行架构。

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

基于 Docker 的 Selenium Grid 的搭建方法

#创建了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

基于 Docker 实现的 Selenium Grid 的测试基础架构

可降低维护node成本

引入统一测试执行平台的测试基础架构

可进行测试用例的版本化管理和提供基于Restful API 的测试执行接口供 CI/CD 使用。

基于 Jenkins 集群的测试基础架构

解决的问题:随着测试需求的继续增长,单个 Jenkins 成了整个测试基础架构的瓶颈节点。来自于统一测试执行平台的大量测试请求,会在 Jenkins 上排队等待执行,而后端真正执行测试用例的 Selenium Grid 中很多 Node 处于空闲状态。

测试负载自适应的测试基础架构

        通过单位时间内的测试用例数量,以及期望执行完所有测试的时间,来动态计算得到所需的 Node 类型和数量,然后再基于 Docker 容器快速添加新的 Node 到 Selenium Grid 中;而空闲时段则去监控哪些 Node 在指定时间长短内没有被使用,并动态地回收这些 Node 以释放系统资源。

集群自动扩容的其他方案

使用K8S

http://www.lryc.cn/news/173154.html

相关文章:

  • 2023研究生数学建模E题保姆级思路 出血性脑卒中临床智能诊疗
  • 画电路板通用知识
  • 三相组合式过电压保护器试验
  • C++提高编程:01 模板
  • Latex Overleaf 写作问题记录
  • OpengL之纹理
  • IOTE 2023盛况回顾,美格智能聚连接之力促数字新生长
  • 科普:什么是视频监控平台?如何应用在场景中?
  • arcgis js 缓冲区分析(GP服务)
  • 【word格式】mathtype公式插入 | 段落嵌入后格式对齐 | 字体大小调整 |空心字体
  • 【动态规划刷题 17】回文子串 最长回文子串
  • mysql 每日自动备份数据库
  • 【计算机网络】图解路由器(二)
  • 流媒体及直播相关知识
  • 数据治理-数据资产估值
  • 点云从入门到精通技术详解100篇-机载 LiDAR 点云滤波及分类
  • 【SLAM】 前端-视觉里程计之相对位姿估计
  • git format-patch打补丁
  • 大数据Flink(八十三):SQL语法的DML:With、SELECT WHERE、SELECT DISTINCT 子句
  • C++:list
  • 【C++】搜索二叉树底层实现
  • C8051F020 SMBus一直处于busy状态解决办法
  • Activiz 9.2 for Linux Crack
  • 数据结构 - 链表
  • Android 12 Bluetooth源码分析蓝牙配对
  • Python异步编程并发执行爬虫任务,用回调函数解析响应
  • React组件化开发
  • LuatOS-SOC接口文档(air780E)--crypto - 加解密和hash函数
  • 自动化测试的定位及一些思考
  • 展会动态 | 迪捷软件邀您参加2023世界智能网联汽车大会