自动化工具 WEB 自动化工具
背景
使用自动化测试框架编写用例的时候,维护元素信息以及脚本较为麻烦。对应新手来说,编写脚本的能力有限,使用工具会更容易入手。最重要的是可视化操作让我觉得体验舒服。
演示地址
地址:hippo
账号:test
密码:A123456.
首次访问稍慢一些
操作说明
已有 demo 例子,由于部署在服务器,只能够调起服务器的浏览器。
WEB 测试功能介绍
统计图表
首先需要选中项目,后续的测试都是在这个项目下进行。
展示用例/计划的当前数量统计,一周内新增统计,一周内执行结果统计。
项目管理
管理不同的项目,创建完一个项目后,可以在统计图表选中这个项目,来展开后续的测试。
元素管理
元素库:元素的分类用树形结构管理,选中节点后展示其下面的元素列表。
元素列表:管理当前分类下的所有元素。
用例管理
管理页面
场景管理:用例的分类用树形结构管理,选中节点后展示其下面的用例列表。
用例列表:管理当前分类下的所有用例。
新建/编辑页面
点击新建或编辑会跳转到该页面,展示详细信息。
用例名称:用例的标识名称。
所属分类:用例库下的分类名称。
用例等级:用例的等级。
用例描述:用例的详细信息。
性能模式:性能模式能减少内存和 cpu 的占用,启用后程序在后台运行,不调起浏览器。
出现异常截图:执行后异常的步骤会截图保存,在报告内可以查看。
结束关闭浏览器:执行结束会关闭浏览器。
忽略异常并继续执行:步骤出现异常不会暂停执行,会一直执行下面的步骤。
数据驱动:用例用数据驱动的方式执行。上传 EXECL 文件后,文件内容的行数=执行的次数,行名称=步骤变量名,每次执行都会按每行内容替换步骤中的变量值。
新建/编辑步骤
步骤名称:自定义输入步骤的概要信息。
操作类型:浏览器操作、元素操作、鼠标操作、输入操作、断言操作。
操作对象:元素库选择或者直接输入定位表达式。
启用状态:启用的会执行,不启用的会跳过。
行背景色:选择后列表行会显示该颜色。
用例引用
可以引用当前项目下所有的用例,比如我们常需要用到前置操作的登录,或后置操作的登出,可以用过它来引用。
引用完成后会关闭引用对话框且该引用在列表最后一行显示,可以通过行拖拽功能自由调整位置,用例步骤的执行顺序是从上到下的。
注意:用例 A 引用了用例 B,如果用例 B 步骤变了,需要在用例 A 删除用例 B,再重新引用用例 B。
场景变量
管理当前用例下所用到的变量。
字符串类型的变量,引用的方式为 ${变量名};定义为全局的变量后,则在当前项目任何用例下都能使用。当前项目下变量名不能重名。
例:当前有个 变量名称为 group 在步骤中使用 ${group},在后续执行中会替换变量值 “测试部”。
立即执行
立即执行后,前端页面会进入 loading 状态来等待用例的执行,执行完成会打开全屏测试报告对话框。
执行计划
新建/编辑页面
点击新建或编辑会跳转到该页面,展示详细信息。
计划名称:计划的标识名称。
计划描述:用例的详细信息。
性能模式:性能模式能减少内存和 cpu 的占用,启用后程序在后台运行,不调起浏览器。
出现异常截图:执行后异常的步骤会截图保存,在报告内可以查看。
结束关闭浏览器:执行结束会关闭浏览器。
忽略异常并继续执行:步骤出现异常不会暂停执行,会一直执行下面的步骤。
异常告警:开启告警后可选择钉钉群发送告警消息,选择 @ 联系人后,输入手机号码用英文逗号隔开。
用例引用
与用例新建编辑页的引用一致,区别在于用例的新建编辑不光能引用其他用例,也能新建步骤,而计划内只能引用用例。
立即执行
立即执行后,前端页面会进入 loading 状态来等待用例的执行,执行完成会打开全屏测试报告对话框。
调度执行
依赖 xxl-job 任务调度中心去运行计划,xxl-job 的具体功能请参阅它的官网介绍,官方文档地址:分布式任务调度平台XXL-JOB。
调度执行:点击调度执行后,浏览器会打开新标签页,并打开调度平台登录页,并复制当前计划的 id(在任务参数输入框粘贴)。
任务调度中心账号/密码 :admin/123456
操作步骤:登录任务调度中心 --> 任务管理 --> 新建或更新任务 --> 任务参数输入框粘贴计划 id。启用任务会根据 cron 调度,执行一次则立马执行。执行完成后,可在测试报告列表页处查看执行人为 xxl-job 的记录。
测试报告
用例执行、计划执行、调度计划执行后会生成相应的测试报告,点击报告名称可以查看报告详情。
总结
也算初步完成了该工具,目前还是自己在测试使用,边使用边改问题也相对稳定了,之后也会持续更新。稳定了,把代码整理好会开源。
相关文章:

自动化工具 WEB 自动化工具
背景 使用自动化测试框架编写用例的时候,维护元素信息以及脚本较为麻烦。对应新手来说,编写脚本的能力有限,使用工具会更容易入手。最重要的是可视化操作让我觉得体验舒服。 演示地址 地址:hippo 账号:test 密码&am…...

AutoGPT 安装指南,使用避坑要点
最近, AIGC 中最火的可能就当属于 AutoGPT 了吧,首先简单介绍一下AutoGPT 背景 AutoGPT 是基于 ChatGPT API 接口开发,项目首推 GPT-4 模型,但 OpenAI 账号 API 只有 gpt-3.5-turo 权限同样也可以使用。 项目在 github 上获取的…...

低调且强大——JNPF低代码平台
前言 先说说很多人为什么要用低代码平台。大部分的反馈是“懒”,其次就是后台管理这东西吧,来来回回就那些东西,查询/表单/表格/弹窗之类的,加上一些增删改查的逻辑。很多人表示,呆过的公司好几家了,后管的…...

《商用密码应用与安全性评估》第二章政策法规2.4商用密码应用安全性评估工作
商用密码应用安全性评估体系发展历程 第一阶段:制度奠基期(2007年11月至2016年8月) 第二阶段:再次集结期(2016年9月至2017年4月) 第三阶段:体系建设期(2017年5月至2017年9月&…...

MySQL 字段为 NULL 的5大坑,99%人踩过
数据库字段允许空值(null)的问题,你遇到过吗? 在验证问题之前,我们先建一张测试表及测试数据。 数据库字段允许空值(null)的问题,你遇到过吗? 在验证问题之前,我们先建一张测试表及测试数据。 构建的测试…...

深入理解计算机系统--理解编译器编译的过程
前言 大家在学习C语言的时候,相信对编译器这个词并不会感到陌生。我们也会知道编译器编译的过程是:预处理-》编译-》汇编-》链接。这篇文章主要介绍这四个过程中,编译器究竟做了那些工作,它是如何让一份高级程序转换成机器语言的…...

实现PXE批量网络装机及kickstrat无人值守安装(富士山终究留不住欲落的樱花)
一、PXE概述和部署PXE批量装机 1.PXE简介 PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,c/s架构,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统…...
4.23日报
MySQL 索引是怎么实现的? 索引是满足某种特定查找算法的数据结构,而这些数据结构会以某种方式指向数据,从而实现高效查找数据。 具体来说 MySQL 中的索引,不同的数据引擎实现有所不同,但目前主流的数据库引擎的索引都…...
【数据治理】数据治理方面的证书有哪些?
目前数据治理领域最专业的职业认证有: 中文版: ①DAMA国际CDGA数据治理工程师、DAMA国际CDGP数据治理专家 (先获得CDGA认证才能申请CDGP认证考试) ②DGSP数据治理与管理认证 英文版: ③CDMP数据管理专业人士 一、…...
Let’s Make C++ Great Again——set与vector
文章目录 set常用的set方法:set实现去重的例子:自定义比较函数的例子,按照字符串长度从小到大排序:使用set容器求两个集合的交集的例子: vector创建vector对象插入和删除元素获取vector的大小和容量检查vector是否为空…...

Nginx+Tomcat负载均衡、动静分离
一.Nginx负载均衡实现原理 Nginx实现负载均衡是通过反向代理实现 1、 反向代理原理 2、反向代理的概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服…...

SpringCloud入门实战(七)-Hystrix服务熔断
📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 。 💐学习建议:1、养成习惯,学习java的任何一个技术,都可以先去官网先看看&…...

百度平地起“雷”,突然爆出的QPS数据意味着什么?
鲁迅先生1923年在北师大发表了著名的演讲《娜拉走后怎样》,其中的提问与思考方式振聋发聩,直到今天也依旧有效。面对很多产业现象、技术趋势,我们也不妨多问几个“之后怎样”。 比如说,自ChatGPT爆火之后,中国各个互联…...

电子模块|外控集成 LED 光源 WS2812模块---硬件介绍和stm32驱动
电子模块|外控集成 LED 光源 WS2812模块 模块简介模块特点机械尺寸单线归零码通讯方式24bit 数据结构 stm32 驱动 模块简介 WS2812是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能…...

Jenkins+Python自动化测试持续集成详细教程(全网独家)
目录 一、前言 二、环境准备 三、创建Jenkins Job 四、编写Python自动化测试脚本 五、测试报告生成与展示 六、持续集成流程优化 七、实战演练 八、常见问题及解决方案 九、结论 一、前言 Jenkins是目前最为流行的CI/CD工具之一,它可以支持多种语言和技术…...

运维监控工具PIGOSS BSM扩展指标介绍
PIGOSS BSM运维监控工具,除系统自带指标外,还支持添加SNMP扩展指标、脚本扩展指标、JMX扩展指标、自定义JDBC指标等,今天本文将介绍如何添加SNMP扩展指标和脚本扩展指标。 添加SNMP扩展指标 前提:需要知道指标的oid 例子ÿ…...
一些前端问题2
1.业务场景中需要嵌入公司其他行业线的页面,这种不使用 iframe 该怎么办? 答:理论上应该让他们给你做个组件出来,但是如果实在没别的办法,就使用 iframe 吧。 2.jquery ajax 同步请求的原理是? 目前用 axios 库&…...

Moviepy模块之视频添加图片水印
文章目录 前言视频添加图片水印1.引入库2.加载视频文件3.加载水印图片4.缩放水印图片大小5.设置水印的位置5.1 相对于视频的左上角5.2 相对于视频的左下角5.3 相对于视频的右上角5.4 相对于视频的右下角5.5 相对于视频的左中位置5.6 相对于视频的正中位置5.7 相对于视频的右中位…...
day35—编程题
文章目录 1.第一题1.1题目1.2思路1.3解题 2.第二题2.1题目2.2思路2.3解题 1.第一题 1.1题目 描述: 今年公司年会的奖品特别给力,但获奖的规矩却很奇葩: 首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;待所有…...
Linux安装Nginx
前言 提示:这里可以添加本文要记录的大概内容: Linux安装Nginx的详细步骤。 一、安装Nginx的相关依赖 1、安装gcc,PCRE pcre-devel,zlib,OpenSSL, 提示:安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。 PCRE(…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...