使用这个工具,本地调试UI再也不用怕了

news2025/1/1 10:14:26

前言:在我们日常使用中,很多场景都会用到UI自动化,通用的都是Python+Selenium的方式。今天介绍一种,不用通过代码,直接通过页面可视化配置的方式,就可以完成我们想要的自动化场景。话不多说,正片开始。

一、MeterSphere 介绍

官方网站信息很多,详细信息请直接查看。
MeterSphere 是一站式开源持续测试平台,涵盖测试跟踪、接口测试、UI 测试和性能测试等,全面兼容 JMeter、Selenium 等主流开源标准,能够有效助力开发和测试团队在线共享协作,实现端到端的测试管理跟踪可视化、自动化测试、性能测试及融入持续交付 DevOps 体系,并充分利用云弹性进行高度可扩展的自动化测试,从而加速高质量的软件交付,推动中国测试行业整体效率的提升。
image.png

二、UI本地调试配置

我们今天的主题是UI本地调试,如果想了解其他功能,可以去官网查看,官网东西很丰富,写的也比较全面。

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

MeterSphere 调起浏览器的动作其实是由浏览器驱动完成的。因为 MeterSphere 封装了 JMeter 的相关操作交由内部使用,所以在进行UI调试操作时,会调用到 JMeter 引擎。JMeter 通过 MeterSphere 配置的 RemoteDriverConfig 找到对应的 Selenium-server地址,以及所需要调起的浏览器信息(例如 Chrome、Firefox 等),并与 Selenium-server 建立 WebSocket 连接,进而使用Selenium-server 中配置的浏览器的驱动信息,通过浏览器驱动来完成浏览器的调起。

image.png

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

2.2.1 下载驱动程序

百度网盘链接:https://pan.baidu.com/s/1ya5orSd36fZFJchUltxfjA?pwd=yt5v

  1. 网盘程序中包含100.0.4896.127版本的 Mac OS、Windows 的 ChromeDriver 插件,其他版本请通过 chromedriver下载替换(驱动名称与程序中的驱动名称一致)即可。
  2. 浏览器版本号与浏览器驱动只需对应前三段即可,例如100.0.4896.127。

image.png
image.png

下载驱动重点已经加粗,如有问题,请仔细查看

2.2.2 运行驱动程序

Windows 操作系统

解压附件中的压缩包到自定义目录,双击“windows-start.bat”运行即可。
image.png
看到如下日志则证明已经运行成功。
image.png

Mac OS 操作系统

本地需要装有 JDK 环境,并且配置好环境变量。
解压附件中的压缩包到自定义目录,在终端中进入文件目录,执行sh mac-start.sh即可。
如果没有执行权限,则需在 mac-start.sh文件所在目录执行 chmod 777 mac-start.sh命令。
image.png
运行时默认会启动 19091 端口,若需要更改则需要编辑 bat 文件进行调整,具体细节请参考脚本参数说明。
脚本参数说明:

**参数名默认值
启动端口–port19091
配置Chrome驱动地址-Dwebdriver.chrome.driver当前drivers目录下的chromedriver
配置Firefox驱动地址-Dwebdriver.gecko.driver当前drivers目录下的geckodriver

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

登录 MeterSphere 平台,进入“个人信息”→“UI设置”,将步骤2中启动的server地址(如http://192.168.0.114:19091)配置到本地Selenium-server 地址中。
UI设置菜单需要在权限中开启,目前仅项目管理员(系统)用户组默认开启。
image.png
特别注意:以上配置是基于 MeterSphere 服务端和本机在同一网络环境下进行的配置。如不在同一网络环境下,则需要使用 VPN 虚拟专用网络;当MeterSphere 服务端可以访问公网时,直接让本地Selenium-server地址映射到公网访问即可。
这里介绍一种简单的公网访问调试工具。

2.3 一个好用的在线内网穿透工具

1APM
1APM 的内网穿透, 仅利用 ssh 提供的 tunnel 功能, 无需额外安装任何软件, 不要自行车,干净又卫生
image.png
非常简洁的一个工具,我们注册账号登录进去就好。

2.3.1 修改端口启动穿透

我们登录进去之后,会看到这个页面
image.png
这里我们把端口修改成: 19091
然后复制命令,直接执行命令
image.png

密码是默认密码:123456 ,看到以下页面就可以在公网访问了。
image.png
image.png

然后我们配置这个映射出来的地址:https://343347634.tunnel.1apm.com,点击确定。
image.png

保存之后,在UI模块点击本地调试即可。
效果图.gif

三、总结

以上就是我们通过MeterSphere实现本地UI自动化的配置,需要注意几个点:

  1. 浏览器版本驱动一定要对。
  2. MeterSphere服务器要跟本机网络在同一个网络下。
  3. 一定要配置本地Selenium的地址信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ElasticSearch - 结果处理

目录 结果处理-排序 结果处理-分页 结果处理-高亮 结果处理-排序 elasticsearch默认是根据相关度算分(_score)来排序,但是也支持自定义方式对搜索结果排序可以排序字段类型有:keyword类型、数值类型、地理坐标类型、日期类型等普通字段排序keyword、数…

pytorch图像分类全流程(五)--图像分类算法精度评估指标

本次我们来学习图像分类算法精度的各种评估指标:precision、recall、accuracy、f1-score、AP、AUC。 首先我们来学一个很重要的概念,混淆矩阵: 1.精确率(Precision): 指的是所有被判定为正类(TPFP)中&…

8-Arm PEG-Succinamide Acid,8-Arm PEG-SAA,八臂-聚乙二醇-丁二酸酰胺供应

英文名称:8-Arm PEG-SAA,8-Arm PEG-Succinamide Acid 中文名称:八臂-聚乙二醇-丁二酸酰胺 8-臂PEG-SAA是一种多臂PEG衍生物,在连接到一个六甘油核心的八个臂的每个末端具有羧基。PEG和丁二酰胺酸COOH基团之间存在C3酰胺键。PEG酸…

HTML中引入CSS样式的第一种方式:内联定义方式

<!-- HTML中引入CSS样式的第一种方式&#xff1a;内联定义方式 语法格式&#xff1a; <标签 style"样式名:样式值;样式名:样式值;样式名:样式值;..."></标签> --> <!DOCTYPE html> <html> <head> …

操作系统(day01)

文章目录操作系统的功能和目标1.作为系统资源的管理者&#xff08;从中间往两边看&#xff09;2.作为用户和计算机硬件之间的接口&#xff08;从下往上看&#xff09;操作系统的四大特征共享虚拟异步操作系统的发展与分类手工操作阶段批处理阶段--多道批处理系统分时操作系统实…

基于蜣螂算法的极限学习机(ELM)回归预测-附代码

基于蜣螂算法的极限学习机(ELM)回归预测 文章目录基于蜣螂算法的极限学习机(ELM)回归预测1.极限学习机原理概述2.ELM学习算法3.回归问题数据处理4.基于蜣螂算法优化的ELM5.测试结果6.参考文献7.Matlab代码摘要&#xff1a;本文利用蜣螂算法对极限学习机进行优化&#xff0c;并用…

QT入门与基础控件

目录 一、QT入门 1.1QT简介 1.2经典应用 1.3工程搭建 1.3.1按钮 1.3.2行编辑框 1.3.3简单确定位置 1.4信号与槽机制 二、布局管理器 2.1布局管理器 2.2输出控件 2.3输入控件 2.4按钮 2.5容器 2.5.1Group Box 2.5.2Ccroll Area 2.5.3Tool Box 2.5.4 Tab Wid…

射频脉冲频谱及退敏效应简述

当使用频谱仪测试射频脉冲信号的频谱时&#xff0c;设置不同的RBW可以得到不同的结果&#xff0c;有连续的包络谱和离散的线状谱之分。针对简单的射频脉冲而言&#xff0c;脉冲退敏效应是指&#xff0c;当显示线状谱时&#xff0c;中心载波的幅度将低于脉内平均功率&#xff0c…

网络工程师必修课主流两种方式实现不同VLAN间通信

我们知道默认不同VLAN间数据时不能通信的,想要实现不同VLAN间通信常用的有两种方式: 一、通过三层交换路由功能实现不同VLAN之间的通信 二、通过单臂路由实现不同VLAN之间的通信 1.通过三层SVI虚接口配置路由实现通信: 交换机A的配置 vlan batch 20 30 //创建VLAN20 V…

数据库概念及运算符介绍

文章目录一、介绍概念分类相关术语启动与关闭服务卸载MySQL的管理工具Navicat的下载和安装逻辑结构二、SQL介绍分类语法注释DDLDQL基本查询运算符伪表算术运算符比较运算符等号运算符安全等与运算符不等于运算符空运算符非空运算符最小值最大值运算符BETWEEN AND运算符IN运算符…

操作符详解

文章目录 算术操作符移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员表达式求值前言 一、算术操作符 - * / % 注意&#xff1a; 1. 除了 % 操作符之外&#xff0c;…

茕茕白兔十二年

白兔子黑兔子 一年一月&#xff1a;孤独 黑兔子主人公孤单一人躺在斐波那契试验田&#xff0c;犹如上帝造出的亚当。ta决定邀请别的兔子跟ta一起抵抗生活中的百无聊赖&#xff0c;就写下了“征友”明信片&#xff0c;并在明信片上畅想了他们在一起美好的“兔生”。 那一年的秋…

29. 两数相除

打卡!!!每日一题 今天给大家带来一道位运算类型的题目 题目描述&#xff1a; 题目示例&#xff1a; 对于这种类型的题目&#xff0c;当题目要求不能使用乘法、除法时&#xff0c;那么则需要我们从移位、或、与、异或等位运算的角度来进行考虑&#xff0c;接下来我带着大家…

Linux 软件安装 YUM管理工具 简单引入

概念引入 &#xff1a;# 首先提出一个问题&#xff0c;我们在 Linux 操作系统中是如何 安装软件的 &#xff1f;&#xff1f;>>>在 Linux 系统中&#xff0c;安装软件是有三种方式>>>第一种 &#xff1a; RPM 管理工具 第二种 &#xff1a; YUM 管理工具第三…

Docker 搭建 LNMP + Wordpress

一、服务器环境 容器操作系统IP地址主要软件nginxCentOS 7172.18.0.10Docker-NginxmysqlCentOS 7172.18.0.20Docker-MysqlmysqlCentOS 7172.18.0.20Docker-Mysql 二、Linux系统基础镜像 systemctl stop firewalld setenforce 0 docker pull centos:7 #从公有仓库中下载cento…

GB28181开源项目WVP部署详细流程

开箱即用的的28181协议视频平台 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HcH0Aobk-1674895367480)(null)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EmrNYHcL-1674895367646)(null)] [外链图片转存失败,源站可…

手写线程池

为什么要使用线程池? 降低资源的消耗&#xff0c;降低线程创建和销毁的资源消耗&#xff1b;降低响应速度&#xff1a;线程的创建时间为T1&#xff0c;执行时间T2&#xff0c;销毁时间T3&#xff0c;免去T1和T3的时间&#xff1b;提高线程的可管理性 线程池的核心思想&#x…

【从零带你玩转Linux】权限及相关指令

前言 &#x1f3e0;个人主页&#xff1a;泡泡牛奶 &#x1f335;系列专栏&#xff1a;从零带你玩转Linux 本期将会让大家了解什么是权限&#xff0c;权限该如何理解&#xff0c;以及Linux中一些有关权限设置的指令操作&#xff0c;让你在Linux使用中更加得心应手(&#xff5e;&…

Git详细使用文档

Git 1.项目存在哪些问题 1.项目安全性太低2.项目很难协同开发3.项目无端报错4.项目版本混乱 2.Git概念 Git是一个分布式的版本控制及协同开发工具 3.版本控制工具分类 3.1.集中式版本控制工具 cvs svn ​ 集中式版本控制系统&#xff0c;版本库是集中存放在中央服务器的&am…

LeetCode 刷题系列 -- 143. 重排链表

给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a;L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为&#xff1a;L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。示例 1&a…