【墙裂推荐!】十款开源测试开发工具(自动化、性能、造数据、流量复制)​

news2025/1/11 17:14:22

目录

1、AutoMeter-API 自动化测试平台

2、QA Wolf 浏览器自动化测试工具

3、Mimesis 用于 Python 的高性能虚假数据生成器

4、Ddosify 高性能负载测试工具

5、AutoCannon HTTP/1.1 基准测试工具

6、Sharingan 流量录制回放工具

7、randdata 随机测试数据生成工具

8、DrissionPage WEB 自动化测试集成工具

9、Chaos Mesh 在 Kubernetes 上进行混沌测试

10、Automagica 智能流程自动化平台

 资料获取方法


1、AutoMeter-API 自动化测试平台

AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理

在项目开发,迭代交付过程中开发人员,测试人员需要针对系统提供的 API 做调试,回归测试,性能测试。自动化测试,一个好的平台本质上需要解决 API 测试的 5 大基本问题:

  • 1.支持不同的角色,技术人员多人协作
  • 2.支持定义多个不同的测试环境
  • 3.支持定义各种被测系统,API
  • 4.支持功能,性能,回归,自动化测试
  • 5.功能/性能明细报告,统计报告

项目地址:

https://gitee.com/season-fan/autometer-api

2、QA Wolf 浏览器自动化测试工具

QA Wolf 可帮助你以 10 倍的速度创建、运行和维护端到端的浏览器自动化测试。

项目地址:

https://github.com/qawolf/qawolf

3、Mimesis 用于 Python 的高性能虚假数据生成器

Mimesis 是一个用于 Python 的高性能虚假数据生成器,它以多种语言提供用于多种用途的数据。虚假数据可用于填充测试数据库、创建虚假 API 端点、创建任​​意结构的 JSON 和 XML 文件、匿名化生产中的数据等。

支持的功能

  • 简单:易于使用和学习
  • 多语言:支持多种语言的数据
  • 性能:可用于 Python 的最快数据生成器
  • 数据多样性:支持多种数据提供者用于各种目的
  • 通用数据提供者:从单个对象对所有提供者的简化访问
  • 零依赖:不需要 Python 标准库以外的任何模块
  • 基于模式的生成器:提供一种简单的机制来通过任何复杂的模式生成数据

项目地址:

https://github.com/lk-geimfari/mimesis

安装:

pip install mimesis

示例:

>>> from mimesis import Person
>>> from mimesis.locales import Locale
>>> person = Person(Locale.EN)

>>> person.full_name()
'Brande Sears'

>>> person.email(domains=['example.com'])
'roccelline1878@example.com'

>>> person.email(domains=['mimesis.name'], unique=True)
'f272a05d39ec46fdac5be4ac7be45f3f@mimesis.name'

>>> person.telephone(mask='1-4##-8##-5##3')
'1-436-896-5213'

4、Ddosify 高性能负载测试工具

Ddosify 是一个用 Golang 编写的高性能负载测试工具和 DDOS 攻击模拟。

特性:

  • 协议不可知 - 目前支持 HTTP、HTTPS、HTTP/2。其他协议正在开发中。
  • 基于场景 - 在 JSON 文件中创建你的流程。无需一行代码!
  • 不同的负载类型 - 测试你的系统在不同负载类型上的限制。

项目地址:

https://github.com/ddosify/ddosify

5、AutoCannon HTTP/1.1 基准测试工具

AutoCannon 是一个用 Node.js 编写的 HTTP/1.1 基准测试工具,受到 wrk 和 wrk2 的极大启发,支持 HTTP 管道和 HTTPS。autocannon 可以产生比 wrk 和 wrk2 更多的负载。

项目地址:

https://github.com/mcollina/autocannon

6、Sharingan 流量录制回放工具

Sharingan(写轮眼)是一个基于 golang 的流量录制回放工具,适合项目重构、回归测试等。

特性

  • 支持下游流量录制。相比 tcpcopy、goreplay 等方案,回放不依赖下游环境。
  • 支持并发流量录制和回放。录制对服务影响小,回放速度更快。
  • 支持时间重置、噪音去除、批量回放、覆盖率报告、常见协议解析等等。
  • 支持写流量回放,不会污染应用数据。
  • 不依赖业务框架,低应用浸入。

项目地址:

https://github.com/didi/sharingan

使用示例:

# Step1: 下载sharingan项目
$ git clone https://github.com/didi/sharingan.git
$ cd sharingan

# Step2: 使用定制版golang,以go1.13为例
$ sh install.sh go1.13 # 支持go1.10 ~ go1.15,限mac、linux amd64系统
$ export GOROOT=/tmp/recorder-go1.13
$ export PATH=$GOROOT/bin:$PATH

# Step3: 编译、后台启动replayer-agent「默认会占用3515、8998端口,可修改」
# [回放接入文档]内有直接下载bin文件的链接,无需build
$ cd replayer-agent
$ go build
$ nohup ./replayer-agent >> run.log 2>&1 &

# Step4: 编译、后台启动example示例「默认会占用9999端口,可修改」
$ cd ../example
$ go build -tags="replayer" -gcflags="all=-N -l"
$ nohup ./example >> run.log 2>&1 &

# Step5: 打开回放页面
$ 浏览器打开,http://127.0.0.1:8998 # 非本机替换IP即可
$ 页面选择要回放的流量点执行          # 内置提前录制好的3条example示例流量

7、randdata 随机测试数据生成工具

randdata 是一款基于 JAVA 开发的测试数据生成工具,为了测试人员、软件开发人员、数据开发人员、售前工程师或产品经理演示提供生成随机相应数据的全力打造的,支持个人信息、地址、数字、网络、银行、是非等多种数据的随机生成,无需用户再去编写复杂 SQL 或程序就能生成附合中国人习惯的数据。从而大大的节约软件开发的成本。

特点:

  • 无代码 : 无需编写代码,即生成相应数据。
  • 运行简单:用户只要安装 JDK1.8 及以上版本即可运行。
  • 数据随机性:最大限度保证数据不重复。
  • 支持直接数据库表生成:可直接导入某些数据库的表结构,而无须手工建表,通过给表指定生成数据类型即可。
  • 运行环境要求低:windows、linux 等 PC 机可直接运行,项目只有一个 jar 包,可通过 java -jar 包名即可运行。

项目地址:

https://gitee.com/chenlinux0768/randdata

8、DrissionPage WEB 自动化测试集成工具

DrissionPage,即 driver 和 session 的合体,是一个基于 python 的 Web 自动化操作集成工具。

requests 爬虫面对要登录的网站时,要分析数据包、JS 源码,构造复杂的请求,往往还要应付验证码、JS 混淆、签名参数等反爬手段,门槛较高。若数据是由 JS 计算生成的,还须重现计算过程,体验不好,开发效率不高。使用 selenium,则可以很大程度上绕过这些坑,但 selenium 效率不高。

因此,这个库将 selenium 和 requests 合二为一,不同需要时切换相应模式,并提供一种人性化的使用方法,提高开发和运行效率。除了合并两者,本库还以网页为单位封装了常用功能,简化了 selenium 的操作和语句,在用于网页自动化操作时,减少考虑细节,专注功能实现,使用更方便。

特性

  • 允许在 selenium 和 requests 间无缝切换,共享 session。
  • 两种模式提供一致的 API,使用体验一致。
  • 人性化的页面元素操作方式,减轻页面分析工作量和编码量。
  • 对常用功能作了整合和优化,更符合实际使用需要。
  • 兼容 selenium 代码,便于项目迁移。
  • 使用 POM 模式封装,便于扩展。
  • 统一的文件下载方法,弥补浏览器下载的不足。
  • 简易的配置方法,摆脱繁琐的浏览器配置。

项目地址:

https://gitee.com/g1879/DrissionPage

9、Chaos Mesh 在 Kubernetes 上进行混沌测试

Chaos Mesh 是一个云原生的混沌工程(Chaos Engineering)平台,可在 Kubernetes 环境中进行混沌测试。

当前实现支持用于故障注入的主要操作:

  • pod-kill:模拟 Kubernetes Pod 被 kill。
  • pod-failure:模拟 Kubernetes Pod 持续不可用,可以用来模拟节点宕机不可用场景。
  • network-delay:模拟网络延迟。
  • network-loss:模拟网络丢包。
  • network-duplication:模拟网络包重复。
  • network-corrupt:模拟网络包损坏。
  • network-partition:模拟网络分区。
  • I/O delay:模拟文件系统 I/O 延迟。
  • I/O errno:模拟文件系统 I/O 错误 。

项目地址:

https://gitee.com/mirrors/Chaos-Mesh

10、Automagica 智能流程自动化平台

Automagica 是一个开源智能机器人流程自动化(SRPA,Smart Robotic Process Automation)平台,借助 Automagica,自动化跨平台流程变得轻而易举。Automagica 可以通过简单程序脚本实现打开各种应用程序并对应用进行操作。

Automagica 需要 Python 3.7 环境,官方支持 Windows 10 平台,Linux 和 Mac 目前官方还不支持。

项目地址:

https://github.com/OakwoodAI/Automagica
https://gitee.com/mirrors/Automagica

Automagica 使用场景:

  • 桌面交互自动化
  • Office 自动化,例如打开 Excel 并进行数据填充
  • Web 自动化,例如打开网址并进行网页操作
  • 商业应用自动化
  • 自动打开邮件应用并收发邮件
  • 远程控制等等

例如:
打开 Excel 并进行程序控制:

打开画图工具并进行绘图:

示例代码
该示例打开 Windows 记事本并输入 'Hello world!'.

PressHotkey('win','r')
Wait(seconds=1)
Type(text='notepad', interval_seconds=0)
PressKey('enter')
Wait(seconds=2)
Type(text='Hello world!', interval_seconds=0.15)

下面例子打开 Chrome 浏览器并访问指定url

browser = ChromeBrowser()
browser.get('https://www.cnblogs.com/jinjiangongzuoshi/')

 资料获取方法

【留言777】

各位想获取源码等教程资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

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

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

相关文章

【求两个数二进制中不同位的个数】

求两个数二进制中不同位的个数 1.题目 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子:1999 2299 输出例子:7 2.题目分析 先将m和n进行按位异或,此时m和n相同的二进制比特位…

多线程知识点总结

这个更清晰一点 JAVA多线程-ProcessOnhttps://www.processon.com/mindmap/64d06633b9f7806c73e70d92

统计列表加小计

提供个思路,欢迎其他大佬指正 注意使用 排序(seq),group by,union all SELECTf.* FROM(SELECTcus_id,max( cusname ) cusname,NULL dodate,sum( money ) sumMoney,NULL payed,NULL unpayed,1 seq FROMtb_outbase GRO…

如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透?

如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透? 文章目录 如何在群辉NAS系统下安装cpolar套件,并使用cpolar内网穿透?前言1. 在群辉NAS系统下安装cpolar套件2. 管理隧道列表3. 创建固定数据隧道 前言 群晖作为大容量存储系统,既可…

uniapp开发小程序-分包(微信错误码:800051)

在使用uniapp开发小程序时,上传的时候因为文件过大,显示上传失败。 以下是开发过程中遇到的问题及解决方法: 1. 问题一:因为文件过大,显示上传失败 ①尝试过把本地使用的图片压缩到最小; ②把图片转换为网…

某运动APP的登录协议分析

前言 最近在尝试逆向方向相关的探索,针对某款运动APP的登录协议进行了分析,此文记录一下分析过程与结果,仅供学习研究,使用的工具较少,内容也比较简单,新手项,大佬请跳过。针对密码登录模块进行…

SpringBoot整合WebSocket实现定时任务消息推送

在平时项目开发中,肯定有很多小伙伴会需要实现定时向某个页面推送消息的功能,为了解决大家无从下手的问题,加哥今天展示一套简单的代码解决方案。 1.创建WebSocketConfig配置类 在这个类中注入ServerEndpointExporter,这个bean会…

vmwera中安装的centos8出现ifconfig不可用

刚刚在虚拟机中装好centos结果发现自己的ifconfig命令不可用。 看一下环境变量里有没有ifconfig命令的路径,因为ifconfig是在/sbin路径下的,root用户登录进去才可以运行,先看一下root用户的环境变量。 root用户的环境变量里是有/sbin路径的&a…

数据链路层 -帧结构

帧结构 802.3 有线网卡的帧格式802.11 无线网卡的帧格式 802是指一个国际标准委员会 IEEE 802 帧头主要包括三个部分: 目标MAC(6个字节)源MAC (6个字节)类型 (包含两种类型:0x0800【IP协议】 …

【生成式AI】ProlificDreamer论文阅读

ProlificDreamer 论文阅读 Project指路:https://ml.cs.tsinghua.edu.cn/prolificdreamer/ 论文简介:截止2023/8/10,text-to-3D的baseline SOTA,提出了VSD优化方法 前置芝士:text-to-3D任务简介 text-to-3D Problem text-to-3D…

关于Postman如何配置随请求携带token

文章目录 一些吐槽实际应用 一些吐槽 首先吐槽一下 postman官网的文档说明,真是乱七八糟,一点都不清晰,能不能好好写用户手册啊(比如把用户都当作初始小白) 然后吐槽一下网上铺天盖地让我写js脚本应用全局access toke…

leetcode - 75. 颜色分类(java)

颜色分类 leetcode - 75. 颜色分类题目描述双指针代码演示 双指针算法专题 leetcode - 75. 颜色分类 难度 - 中等 原题链接 - 颜色分类 题目描述 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻&…

Ansys Lumerical | 米氏散射 FDTD

计算平面波激发的纳米粒子的散射和吸收截面、局部场增强和远场散射分布(Mie 散射)。将截面和远场结果与解析解进行比较,以验证仿真的准确性。(联系我们获取文章附件) 概述 纳米粒子的散射特性通常用场增强、横截面和远…

AtcoderABC223场

A - Exact PriceA - Exact Price 题目大意 高橋的钱包里只有一个或多个100日元硬币,没有其他的东西。现在给定一个金额X,需要判断是否可能存在这样的情况,使得钱包中的总金额是X日元。 思路分析 根据题目要求,钱包中只有100日元…

【Yolov5+Deepsort】训练自己的数据集(2)| 目标检测追踪 | 轨迹绘制

📢前言:本篇是关于如何使用YoloV5Deepsort训练自己的数据集,从而实现目标检测与目标追踪,并绘制出物体的运动轨迹。本章讲解的为第二部分内容:训练集的采集与划分,Yolov5模型的训练。本文中用到的数据集均为…

【C语言学习——————文件处理操作的简单介绍与讲解】

欢迎阅读新一期的c语言学习模块————文件处理操作 ✒️个人主页:-_Joker_- 🏷️专栏:C语言 📜代码仓库:c_code 🌹🌹欢迎大佬们的阅读和三连关注,顺着评论回访🌹&#…

【工作记录】mysql中实现分组统计的三种方式

前言 实际工作中对范围分组统计的需求还是相对普遍的,本文记录下在mysql中通过函数和sql完成分组统计的实现过程。 数据及期望 比如我们获取到了豆瓣电影top250,现在想知道各个分数段的电影总数. 表数据如下: 期望结果: 实现方案 主要思路是根据s…

国产芯力特Mini LIN SBC SIT1028Q应用方案,可替代TJA1028

SIT1028Q是一款内部集成高压LDO稳压源的本地互联网络(LIN)物理层收发器,可为外部ECU(Electronic Control Unit)微控制器或相关外设提供稳定的5V/3.3V电源,该LIN收发器符合LIN2.0、LIN2.1、LIN2.2、LIN2.2A、…

学习嵌入式系统的推荐步骤:

C语言:作为基础中的基础,选择一本常用的C语言教材,并注意通过实践编写习题、编译运行代码来加深理解。动手实践是非常重要的。 微机原理与接口技术:这本教材将帮助你了解CPU的基本结构、工作原理以及与外设的交互。虽然开始可能有…

手把手教你如何从零开始搭建自己的鞋店商城

对于不懂技术的新手来说,建立一个鞋店商城可能会显得有些困难。然而,现在有一些方便易用的网站建设平台可以帮助您快速搭建一个鞋店商城。本文将介绍乔拓云网的建站教程,让您轻松完成建站。 步骤1:注册乔拓云网账号并登录 首先&a…