AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理
在项目开发,迭代交付过程中开发人员,测试人员需要针对系统提供的 API 做调试,回归测试,性能测试。自动化测试,一个好的平台本质上需要解决 API 测试的 5 大基本问题:
项目地址:
https://gitee.com/season-fan/autometer-api
QA Wolf 可帮助你以 10 倍的速度创建、运行和维护端到端的浏览器自动化测试。
项目地址:
https://github.com/qawolf/qawolf
Mimesis 是一个用于 Python 的高性能虚假数据生成器,它以多种语言提供用于多种用途的数据。虚假数据可用于填充测试数据库、创建虚假 API 端点、创建任意结构的 JSON 和 XML 文件、匿名化生产中的数据等。
支持的功能
项目地址:
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'
Ddosify 是一个用 Golang 编写的高性能负载测试工具和 DDOS 攻击模拟。
特性:
项目地址:
https://github.com/ddosify/ddosify
AutoCannon 是一个用 Node.js 编写的 HTTP/1.1 基准测试工具,受到 wrk 和 wrk2 的极大启发,支持 HTTP 管道和 HTTPS。autocannon 可以产生比 wrk 和 wrk2 更多的负载。
项目地址:
https://github.com/mcollina/autocannon
Sharingan(写轮眼)是一个基于 golang 的流量录制回放工具,适合项目重构、回归测试等。
特性
项目地址:
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示例流量
randdata 是一款基于 JAVA 开发的测试数据生成工具,为了测试人员、软件开发人员、数据开发人员、售前工程师或产品经理演示提供生成随机相应数据的全力打造的,支持个人信息、地址、数字、网络、银行、是非等多种数据的随机生成,无需用户再去编写复杂 SQL 或程序就能生成附合中国人习惯的数据。从而大大的节约软件开发的成本。
特点:
项目地址:
https://gitee.com/chenlinux0768/randdata
DrissionPage,即 driver 和 session 的合体,是一个基于 python 的 Web 自动化操作集成工具。
requests 爬虫面对要登录的网站时,要分析数据包、JS 源码,构造复杂的请求,往往还要应付验证码、JS 混淆、签名参数等反爬手段,门槛较高。若数据是由 JS 计算生成的,还须重现计算过程,体验不好,开发效率不高。使用 selenium,则可以很大程度上绕过这些坑,但 selenium 效率不高。
因此,这个库将 selenium 和 requests 合二为一,不同需要时切换相应模式,并提供一种人性化的使用方法,提高开发和运行效率。除了合并两者,本库还以网页为单位封装了常用功能,简化了 selenium 的操作和语句,在用于网页自动化操作时,减少考虑细节,专注功能实现,使用更方便。
特性
项目地址:
https://gitee.com/g1879/DrissionPage
Chaos Mesh 是一个云原生的混沌工程(Chaos Engineering)平台,可在 Kubernetes 环境中进行混沌测试。
当前实现支持用于故障注入的主要操作:
项目地址:
https://gitee.com/mirrors/Chaos-Mesh
Automagica 是一个开源智能机器人流程自动化(SRPA,Smart Robotic Process Automation)平台,借助 Automagica,自动化跨平台流程变得轻而易举。Automagica 可以通过简单程序脚本实现打开各种应用程序并对应用进行操作。
Automagica 需要 Python 3.7 环境,官方支持 Windows 10 平台,Linux 和 Mac 目前官方还不支持。
项目地址:
https://github.com/OakwoodAI/Automagicahttps://gitee.com/mirrors/Automagica
Automagica 使用场景:
例如:
打开 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/')