MeterSphere使用多版本浏览器进行UI兼容性测试

背景:因MeterSphere目前后台调试使用的是自带的selenium-grid进行测试,且selenium-grid是固定版本的浏览器,所以无法做到多版本浏览器的兼容性测试,所以为了达到多版本浏览器兼容性测试的目的,需要部署安装多版本浏览器的node ,用于执行UI测试脚本

以chrome浏览器为例

操作步骤

1、因MeterSphere使用的是开源selenium-grid,其执行流程如下:

  • 这个对外的入口对应的是 Selenium Hub;
  • 具体执行任务的执行机,对应的是 Selenium Node;
  • Node接到任务后分配给执行节点的过程,就是 Selenium Hub 将测试分配到 Selenium Node 执行的过程;
  • Node向Hub报备的过程,就是 Selenium Node 向 Selenium Hub 注册的过程。
  • 也就是说,Selenium Hub 用来管理各个 Selenium Node 的注册信息和状态信息,并且接收远程客户端代码的测试调用请求,并把请求命令转发给符合要求的 Selenium Node 执行。

selenium-grid包含了selenium-hub和多个selenium-node,所以需要额外安装多个版本的chrome浏览器的selenium-node,才可进行多版本浏览器兼容性测试

2、获取多版本的chrome 浏览器selenium-node

查看Releases · SeleniumHQ/docker-selenium · GitHub 网页上已经发布的release的镜像tag,下面的具体信息里面包含浏览器版本,找到你需要测试浏览器版本的镜像tag

复制tag信息,进服务器进行拉取镜像:

 

3、启动对应版本的chrome 浏览器selenium-node

执行命令:(启动5555为容器外部端口,chrome110为容器名称,用于区分)

#此为node节点单独运行,也可以加其他参数或者docker-compose的方式去启动,具体命令自行百度

docker run -d -p 5555:4444 --name chrome110 --shm-size="2g" selenium/standalone-chrome:4.8.0-20230210

执行如下:

4、MeterSphere配置个人信息的UI测试账号

点击“个人信息”

填写UI账号:

5、执行UI自动化场景

选择UI自动化场景,点击“本地调试”按钮

查看容器日志:

docker logs -f chrome110 --tail=200

可以看到浏览器版本为110,类型为chrome浏览器

6、查看执行结果

执行日志:

执行结果为:

以上就是添加额外浏览器进行测试的步骤,需要注意的是:

1、如果服务器不能直接连外网,则需要手动pull之后,save成tar包再上传到服务器

2、如果不在个人信息那里使用该访问的地址,也可以在系统参数设置下修改全局的selenium地址

3、如果你在个人信息里面看到"UI设置",请联系管理员进行授权

4、如果要部署多个版本的浏览器,请注意控制容器外部端口是否冲突,如有冲突,请修改为空闲端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值