MeterSphere MeterSphere 的 UI 测试模块如何远程调用浏览器?

MeterSphere · 2022年05月13日 · 最后由 Chras 回复于 2022年05月16日 · 6730 次阅读

5 月 13 日,MeterSphere 开源持续测试平台发布 v1.20.2 版本。在这一版本中,MeterSphere 新增 “UI 场景用例支持启动本地浏览器调试” 的功能。

在此前的版本中,UI 场景调试默认调用 MeterSphere 服务端的 Selenium-server,用户无法看到浏览器被唤起执行的全过程。为了提升 UI 场景用例调试的用户体验以及调试效率,MeterSphere 在调试方式上新增了 “本地调试(即远程调用浏览器)” 功能。

MeterSphere 远程调用浏览器的效果如下图所示。

MeterSphere 远程调用浏览器实现原理

MeterSphere 调起浏览器的动作其实是由浏览器驱动完成的。因为 MeterSphere 封装了 JMeter 的相关操作交由内部使用,所以在进行 UI 调试操作时,会调用到 JMeter 引擎。

JMeter 通过 MeterSphere 配置的 RemoteDriverConfig 找到对应的 Selenium-server 地址,以及所需要调起的浏览器信息(例如 Chrome、Firefox 等),并与 Selenium-server 建立 WebSocket 连接,进而使用 Selenium-server 中配置的浏览器的驱动信息,通过浏览器驱动来完成浏览器的调起。

MeterSphere 远程调用浏览器配置过程

  1. 下载驱动程序

百度网盘链接:https://pan.baidu.com/s/1KrEnGieHmdRt_yYDXFecug?pwd=6ykk

注:①网盘程序中包含 100.0.4896.127 版本的 Mac OS、Windows 的 ChromeDriver 插件,其他版本请通过(http://chromedriver.storage.googleapis.com/index.html)下载替换(驱动名称与程序中的驱动名称一致)即可。

②浏览器版本号与浏览器驱动只需对应前三段即可,例如 100.0.4896.127。

  1. 运行驱动程序

■ Windows 操作系统:

解压附件中的压缩包到自定义目录,双击 “windows-start.bat” 运行即可。

看到如下日志则证明已经运行成功。

■ Mac OS 操作系统:

本地需要装有 JDK 环境,并且配置好环境变量。

解压附件中的压缩包到自定义目录,在终端中进入文件目录,执行 sh mac-start.sh 即可。

注:如果没有执行权限,则需在 mac-start.sh 文件所在目录执行 chmod 777 mac-start.sh 命令。

运行时默认会启动 19091 端口,若需要更改则需要编辑 bat 文件进行调整,具体细节请参考脚本参数说明。

脚本参数说明:

  1. 将本地运行 Selenium-server 配置到 MeterSphere 平台

登录 MeterSphere 平台,进入 “个人信息”→“UI 设置”,将步骤 2 中启动的 server 地址(如http://192.168.0.114:19091Selenium-server 地址中。)配置到本地

注:UI 设置菜单需要在权限中开启,目前仅项目管理员(系统)用户组默认开启。

在 UI 自动化中选择一条用例,选择 “本地调式” 模式就可以看到 MeterSphere 唤起本地浏览器执行的效果了。

特别说明

上述操作均是基于 MeterSphere 服务端和本机在同一网络环境下进行的配置。如不在同一网络环境下,则需要使用 VPN 虚拟专用网络。

以 OpenVPN 为例:

■ 打开 VPN 连接工具;

■ 查找到 Private IP;

■ 将此 IP 配置到 “个人信息”→“UI 设置” 中的 Selenium-server 地址即可。

共收到 2 条回复 时间 点赞

UI 自动化会开放社区版吗

其实把测试引擎独立出来本地启动就行了,我做的测试平台就是这么干的。与其把测试引擎放在和平台一起的网络,不如把引擎放在和测试环境的网络下 (也就是任意环境下都可以执行了)

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册