【自动化】十款开源测试开发工具推荐自动化、性能、造数据、流量复制等

目录

    • [一、AutoMeter-API 自动化测试平台](#一、AutoMeter-API 自动化测试平台)
    • [二、QA Wolf 浏览器自动化测试工具](#二、QA Wolf 浏览器自动化测试工具)
    • [三、Mimesis 用于 Python 的高性能虚假数据生成器](#三、Mimesis 用于 Python 的高性能虚假数据生成器)
    • [四、Ddosify 高性能负载测试工具](#四、Ddosify 高性能负载测试工具)
    • [五、AutoCannon HTTP/1.1 基准测试工具](#五、AutoCannon HTTP/1.1 基准测试工具)
    • [六、Sharingan 流量录制回放工具](#六、Sharingan 流量录制回放工具)
    • [七、randdata 随机测试数据生成工具](#七、randdata 随机测试数据生成工具)
    • [八、DrissionPage WEB 自动化测试集成工具](#八、DrissionPage WEB 自动化测试集成工具)
    • [九、Chaos Mesh 在 Kubernetes 上进行混沌测试](#九、Chaos Mesh 在 Kubernetes 上进行混沌测试)
    • [十、Automagica 智能流程自动化平台](#十、Automagica 智能流程自动化平台)

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

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

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

1.支持不同的角色,技术人员多人协作

2.支持定义多个不同的测试环境

3.支持定义各种被测系统,API

4.支持功能,性能,回归,自动化测试

5.功能/性能明细报告,统计报告

项目地址:

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

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

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

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

支持的功能

简单:易于使用和学习

多语言:支持多种语言的数据

性能:可用于 Python 的最快数据生成器

数据多样性:支持多种数据提供者用于各种目的

通用数据提供者:从单个对象对所有提供者的简化访问

零依赖:不需要 Python 标准库以外的任何模块

基于模式的生成器:提供一种简单的机制来通过任何复杂的模式生成数据

安装:

java 复制代码
pip install mimesis

示例:

java 复制代码
>>> 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'

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

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

特性:

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

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

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

六、Sharingan 流量录制回放工具

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

特性

支持下游流量录制。相比 tcpcopy、goreplay 等方案,回放不依赖下游环境。

支持并发流量录制和回放。录制对服务影响小,回放速度更快。

支持时间重置、噪音去除、批量回放、覆盖率报告、常见协议解析等等。

支持写流量回放,不会污染应用数据。

不依赖业务框架,低应用浸入。

使用示例:

java 复制代码
# 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示例流量

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

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

特点:

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

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

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

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

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

特性

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

九、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 错误 。

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

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

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

Automagica 使用场景:

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

例如:

打开 Excel 并进行程序控制:

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

示例代码

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

java 复制代码
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

java 复制代码
browser = ChromeBrowser()
browser.get('https://www.cnblogs.com/jinjiangongzuoshi/')
相关推荐
AutoMQ9 分钟前
Kafka Connect x AutoMQ: Zero Cross-AZ Data Pipeline
开源
北方的流星29 分钟前
华为帧中继配置
运维·网络·华为
秋雨雁南飞35 分钟前
FlaUI 自动化
自动化
踏浪无痕35 分钟前
从 node-exporter 学如何写出可复用的监控指标
运维·后端·架构
飞Link38 分钟前
【CentOS】Linux(CentOS7)安装教程
linux·运维·服务器·centos
lifewange42 分钟前
100 个接口,1000 个业务场景,如何设计自动化测试用例?框架是如何设计的?
运维·自动化·测试用例
牛奔1 小时前
Linux 的日志分析命令
linux·运维·服务器·python·excel
电化学仪器白超1 小时前
20251209Ver8(精密电流源温漂特性测试报告)
python·单片机·嵌入式硬件·自动化
深耕AI1 小时前
Docker Volumes详解
运维·docker·容器
飞Link1 小时前
【Linux】Linux(CentOS7)配置SSH免密登录
linux·运维·服务器