HttpRunner 开源一个自己写的接测平台,也是基于 HttpRunner 制作

ice · January 31, 2018 · Last by ice replied at March 13, 2018 · Last modified by admin 思寒_seveniruby · 5349 hits

写在前面的话

这是我第一个前端项目,第一个web项目,其实早就想做一个接测平台了,但是一个人从头开始太累了,时间也不富裕,正好看到HttpRunner这个非常优秀的框架,忍不住手痒,就开始写了。

项目前端用的react技术,后端是django,第一次自己写项目,代码丑到自己都不忍直视,但还是发出来了,希望各位大佬轻喷。

感觉py确实很适合快速开发,包括react,其实也就看了两三天语法就直接开干了,在过程里十分感谢开发的各位同事一直不吝赐教,最终才把这个弄了出来。

项目目前还有很多已知问题,不过要等段时间才能再迭代了,这段时间不是很有空了。

话不多说,放代码吧!

项目介绍

本项目后端用Django编写,使用HttpRunner作为执行框架,基本继承了HttpRunner的功能并加以web化。

支持自由扩展方法;

支持从上个接口的返回值提取数据保存以供其他接口使用;

支持自定义参数;

等等

项目地址:

前端(https://github.com/icesword0760/testcenter-web
后端(https://github.com/icesword0760/testcenter

使用说明

1.本项目需要py环境支持,MySql环境支持

2.使用前请先clone到本地,(配置好sql环境后)执行Django的生成数据库命令,数据库配置详见源码

页面展示

首页:

首页

模块界面:
模块
生成报告成功:
报告成功
Case界面:
case1
case2
报告页面:
报告

一些已知问题

前端表单验证太少;

前端部分循化需要改为foreach;

没有对后端接口返回错误(500)的情况做处理;

跳转相同url没有对路由做好处理;

后端缺少错误码;

等等

共收到 10 条回复 时间 点赞
ice #1 · January 31, 2018 作者

下一步准备完善多用户系统,增加单个case运行查看结果,增加邮件机制等等,估计要等段时间

react,我的最爱。么么踹~~😘

先学习一下

ice 关闭了讨论 01 Feb 14:43
ice 重新开启了讨论 18 Feb 11:36

你好,clone下来部署的时候python manage.py makemigrations的时候提示如下报错,请问是缺少了什么必要参数,没找到这个参数

D:\testcenter>python manage.py makemigrations
Traceback (most recent call last):
File "manage.py", line 23, in <module>
execute_from_command_line(sys.argv)
File "D:\application\python35\lib\site-packages\django-2.1-py3.5.egg\django\core\management\__init__.py", line 381, in execute_from_command_line
utility.execute()
File "D:\application\python35\lib\site-packages\django-2.1-py3.5.egg\django\core\management\__init__.py", line 357, in execute
django.setup()
File "D:\application\python35\lib\site-packages\django-2.1-py3.5.egg\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "D:\application\python35\lib\site-packages\django-2.1-py3.5.egg\django\apps\registry.py", line 112, in populate
app_config.import_models()
File "D:\application\python35\lib\site-packages\django-2.1-py3.5.egg\django\apps\config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "D:\application\python35\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 673, in exec_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "D:\testcenter\apitest\models.py", line 13, in <module>
class TestSuite(models.Model):
File "D:\testcenter\apitest\models.py", line 18, in TestSuite
project_id = models.ForeignKey(TestProject, blank=True, null=True)
TypeError: __init__() missing 1 required positional argument: 'on_delete'


ice #7 · March 08, 2018 作者
河马 回复

感觉不应该是缺少什么库的原因。。更像是代码错误,但我这边确定没有这样的问题,我看你的环境似乎是py3?会不会是语法有不兼容的地方?
我这边的环境是 py 2.7 Django 1.10.1
或者可以参考这篇文章:https://www.cnblogs.com/phyger/p/8035253.html
在models里,将外键值的后面加上 on_delete=models.CASCADE

ice #8 · March 08, 2018 作者
河马 回复

如果可以最好还是和我的开发环境保持一致比较好

ice 回复

嗯嗯,在后面添加上那句话就没有报上面那个错了,谢谢,但是我同步数据还是一直没有成功,可能是mysql版本或者数据驱动器的原因?可否告知一下您的开发环境mysql版本和使用的数据驱动(pymysql或者其他的),若果能QQ联系请教您一下不胜感激 691849609

ice #10 · March 09, 2018 作者
河马 回复

你好 mysql版本是Ver 14.14 Distrib 5.7.20;直接使用的django的orm操作数据库的;QQ已加

lzr · #11 · March 13, 2018
Author only
ice #12 · March 13, 2018 作者
lzr 回复

加Q Q群吧 2 9 23 495 27

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up