自动化工具 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(…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...
如何做好一份技术文档?从规划到实践的完整指南
如何做好一份技术文档?从规划到实践的完整指南 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...
「Java基本语法」变量的使用
变量定义 变量是程序中存储数据的容器,用于保存可变的数据值。在Java中,变量必须先声明后使用,声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例:声明与初始化 public class VariableDemo {publi…...
