个人自研的自动化测试平台,借鉴了部分 HttpRunner 的思想和部分代码,主要实现了项目管理、签名方式管理、接口管理、用例管理和测试计划的制定和运行等主要功能,其它的编辑修改都没做,现在只相当于完成了一个 Demo 吧。
环境:
Python 3.6.3
Django 2.0.1
Pymysql 0.8.0
Requests 2.18.4
一个用例可以包含多个接口
选择接口后,相应的接口参数会显示在下面,只需要添加相对应的值就行了
多接口之间的参数传递,以美元符号 $ 来定义一个变量,用例执行的时候会在用例上下文中(本接口和前文中已经添加的接口)获取相对应的值,如果一个接口某个参数的值需要的从其它接口的返回值中获取,则需要上相应的接口中提取这个字段。
制定计划、执行、查看报告
选择项目后,可以获取该项目下所有用例
制定完成后,可以选择立即执行或定时执行(这块暂时没做),执行完成后,可以查看测试报告
github 地址:https://github.com/wsyu/EasyTest
由于之前在公司已经用 tornado 实现过一次,除了上面部分,还包括定时任务,用户管理,权限管理,数据库监控,不方便放出来(有少部分别人的代码),这次用 django 又实现一次, 所以代码和前端都比较随意 。
在 github 上看到跟我一样的项目了,什么都一样,连里面留的 QQ 号都是一样的,不开森 ,感觉劳动果实被窃取了。其实我是很欢迎也很喜欢跟大家一起讨论交流问题,也不介意别人拿我的东西去使用或者二次开发,但是一个字都不改,就放到 github 上,是不是不太妥,最起码联系方式要修改一下吧,不然你修改了东西,别人来问我咋搞 。
学习一下
请问下,接口管理是怎么实现 hrrprunner 的 api 功能的?定时任务这块是用的 celery 么?
你说的 api 功能是指接口分层吗?我只参考了 HttpRunner 中的接口参数怎么传递的部分,因为 HttpRunner 最终都是形成了测试用例文件,我做是用例都是从数据库里面取值后,直接组装的,然后用 requests 库执行的,实现了用数据驱动吧,没有用 unittest 的框架,所以后面做的结果验证比较鸡肋。定时任务这块,之前用 Tornado,是用的 APScheduler, django 这块还没做
不错了,再优化下报告,就更完美了
手动点赞~
一直想这样做一个,终于看到有人在做了
缺少很关键的 sql 初始化脚本
赞一个
界面还行 就是测试报告太丑。。。
赞一个,
想问下,你是如何实现上一接口的出参作为下一接口的入参呢?
在上一个接口中,添加提取参数,然后在下一个接口中定义变量,比如要在上一个接口中获取 token,直接在提取参数中添加 token,然后后面需要使用的时候,直接使用 $token
想问下,项目怎么部署,要注意的点有哪些???多谢!!!
楼主,想问下怎么 sql 初始化
界面比较好看,
楼主 我运行 python manage.py runserver 启动服务,为什么会提示 File "manage.py", line 14
) from exc
^
SyntaxError: invalid syntax
谢谢分享,赞一个~~
攒楼主
主界面不错了,再把报告的页面弄好看点,就更好了
验证这块楼主是怎样弄的?
虽然我自己也写过无数测试平台.当然也写过好多次你这样的东西. 但最后依然觉得接口测试还是写代码吧. 不会写代码的人就别搞接口测试啦!
楼主自己觉得这个所谓的平台有剽窃的必要么?还有一个问题,运行几千条用例你考虑过么?
本来把这个东西放出来,是抱着开放的态度,一个是自己一段工作的成果,二来是希望可能会给别人一些思路,有人看,有人关注已经很欣慰了。说剽窃严重了,但是至少最起码的招呼应该有一个吧,还有你不能直接拷过去,联系方式都不改一下,如果你修改了东西,别人来问我???至于运行几千条用例,正是因为有这方面的考虑,所以没有考虑生成用例文件的方式,后面有时间的话可能会用异步请求吧。
大佬大佬,看看源码学习学习
然后呢,我们还是不会啊?你什么都没给我们
可以关注下 AutoLine 开源平台,支持 RF 所有的关键字https://testerhome.com/topics/13505
请问有安装教程吗?
我还是喜欢写自动化脚本,这种界面的很费时费力,让有 coding 基础的人来吧,入门很简单的,或者用现成的 soupui 或者 postman 都行
我最近也在开发接口自动化测试平台,我认为您还需要完善的地方就是新增一个前置条件,
比方说短信验证接口:sendcode 获取验证码,authcode 验证验证码,我们需要向接口传一个正确的 code 值,authcode 接口才会返回预期值。
前置条件就是: 去 redis 也好 mysql 也好,取出 code,然后请求 authcode 的时候带上 code。。
等等,还有许多拥有逻辑的接口都需要前置条件
可以多多交流
我问下,如果进行对返回值得判断呢,也就是检查点得设置,如何设置
设计用例的时候,有检查点的设置,目前做的比较简单,只能判断要检查的字段和预期值是否相等,还只能是字符串型 ,后期再改吧,太忙了
厉害,我也想用 django 搞一个,学习一下
这种关键字驱动并没有很方便,还是期待下 httprunner 的管理系统
mark 一下
感谢好心人分享~已下载~可用~
不会写前端看起很棒
不太实用,接口测试的化最好和公司 API 平台结合起来
先不说功能咋样好不好看,就凭你这份努力都值得我们学习,谢谢。
在做,在学,在进步就是该肯定的。反手就是一个赞
@wsyu 想问一下作者,测试环境管理这块咋做的,切换环境,host 这块
这块我现在也没好的思路,之前是用 jenkins 和 docker 做了一个自动部署的,至于怎么集成进来,现在也没好的思路
楼主在哪,来我公司吧😄,我最近在考虑一个问题,想做一个类似与这样的平台,先只实现业务流的接口测试,感觉有难度,比如一个用例可能需要十多步操作,一个测试集可能多个用例,变量的传递这块还没弄清楚
向你学习,我也尝试下
大神,有没有数据库的初始化脚本呢,表结构什么的也行呀
楼主,你好 这个打开的时候需要进行初始化数据库么?我这边直接打开提示:pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")
楼主为什么我执行 python3 manage.py migrate 后,数据库中的表只有这几个呢?没有 base_project 等,导致运行报错。
厉害了 楼主
看到学成的效果了,榜样
参数化可以做吗
界面也是自己设计的吗
赞一个