ATP可以完成接口测试,性能测试,web自动化测试(暂时没有渗透测试内容),支持corn定时任务
- beego: go get github.com/astaxie/beego
- cronexpr: github.com/gorhill/cronexpr
- errorx: github.com/joomcode/errorx
- charset: golang.org/x/net/html/charset
conf/app.conf:
appname = ATP # 应用名称
httpaddr = "127.0.0.1" # 地址
httpport = 8080 # 端口
runmode = dev # 使用开发模式
enablexsrf = true # 开启xsrf防护
xsrfkey = 61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o # xsrf 的key
xsrfexpire = 3600
sessionon = true # 开启session
httpsaddr="127.0.0.1"
httpsport=8989
HTTPSCertFile = "server.crt" # https相关
HTTPSKeyFile ="server.key"
EnableGzip = true
aiHost = 192.168.1.1 # 使用AI的接口地址
otherhost = 192.168.1.1 # 远程链接时的主机地址
平台采用go语言开发,框架使用beego,selenium客户端使用java编写,AI助手使用python编写(模型需要训练)
接口测试暂时只支持HTTP协议
添加测试用例后可直接执行测试
执行测试后可在�测试日志-》接口测试日志中查询到该结果
Web测试基于selenium,同时维护一个元素仓库,将用的用到的元素验证统一管理,根据需要可以指定元素的行为,例如按钮的点击,输入框的输入等,根据流程可以自定义每个元素执行流程,测试框架采用TestNg,使用javassist动态生成测试类进行测试,并且测试后生成测试报告
将所有的元素集中在元素仓库中管理,使用时选择即可
�选择元素后可以为元素添加行为,例如按钮元素的行为是点击,输入框的行为是输入字符,(元素行为中输入行为暂不可用,Selenium中的sendkeys方法中参数为CharSequence,使用动态代理后字符串默认是String,会提示找不到sendkeys(String)方法)
测试用例中有一个生成函数名,就是TestNg的@Test注解标柱的�方法名,�使用的断言方式(TestNg中的断言方式,待完善)
开始测试时指定要测试的项目,修改每个元素�的执行顺序
本平台支持定时任务,使用corn表示定时测试
平台支持,Markdown文档编辑,在线代码编辑以及执行,项目文件管理,在线PDF查看器
功能开发中。。。
感谢很多开源框架以及插件的作者
- java:selenium客户端
- go:平台�开发,性能测试,定时任务,任务调度,
- python:使用Sec2Sec模型和attention机制制作的智能助手(需要进行训练)
前端采取INSPINIA 2.7.1模板制作,以及相关js插件
这个平台是工作之余时间制作,欢迎大家提供改进建议以及idea