接口自动化测试平台

Python
Linux
githublitao · 2018年07月16日 · 1641 次阅读 · 6 条评论

接口测试平台从开始到放弃

python3.6.3 Django 2.0.2框架

github地址:https://github.com/githublitao/api_automation_test

体验地址: http://120.79.232.23/ 请体验用户不要删除已有数据

账号:admin 密码:admin369874125

版本更新:

V2.1.2

1.增加导出测试用例功能

V2.1.1

1.新增swaggerUI界面,访问地址127.0.0.1:8000/docs/

V2.1

1.优化前端代码,适配屏幕分辨率,未做浏览器兼容性,目前只在chrome上浏览正常

2.新增mock功能,api管理模块可启动,关闭mock,启动后,通过访问http://127.0.0.1:8000/mock/+url,可返回mock信息真实

V2.0

重构接口代码,引入反序列化方式,修改接口为基于类的方式,因修改大量后台接口代码,前端未更新,所以目前前端调用接口会出现大量问题,目前平台暂不可用,后续更新

项目结构:

目录简介:

项目介绍:


1.项目分为一个前台系统,一个后台管理系统,后台管理一些测试数据和用户数据,前台不提供注册,全部由后台创建用户
2.系统首页可创建,删除,修改项目
3.点击项目后,分为项目首页,测试地址管理,接口管理,自动化管理,项目动态,项目成员
4.接口管理中,提供类似postman的快速测试方式,录入的接口可进行测试,修改,查看测试记录,修改记录及删除;还可直接导出接口文档,后续引入新功能导入swagger的接口信息
5.自动化测试管理可直接从接口管理中导入接口信息,也可新建接口;单条用例内,后面的接口可关联前面接口的返回结果,前置条件是前面的接口校验方式选择json校验,并填写正确的json格式的数据。目前接口返回结果校验只提供5种方式,分别是不校验,校验HTTP状态,校验JSON格式,完全校验与正则校验。可手动测试生成测试报告。自动化测试需要部署在Linux环境下,使用的是crontab作为定时任务与循环任务,目前自动化测试报告的模板还在开发中。。。。

系统声明:


1.本系统采用Django REST framework编写接口,前端页面采用比较容易上手的vue+elementUI

2.初步学习web开发,接口统一采用基于方法的方式编写,后续引入权限系统,并修改成基于类的方法

使用方法:


1.安装Python3环境(未在Python2上运行后,不知道有没有问题)

2.下载代码到本地并解压

3.cmd到根目录下安装相关依赖包

pip install -r requirements.txt
pip install https://github.com/darklow/django-suit/tarball/v2

4.安装mysql数据库,配置数据库连接,进入api_automation_test/settings.py

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE':'django.db.backends.mysql',     # 数据库类型,mysql
        'NAME':'api_test',            #  database名
        'USER':'root',               # 登录用户
        'PASSWORD':'123456',        #  登录用户名
        'HOST':'127.0.0.1',        # 数据库地址
        'PORT':'3306'              # 数据库端口
    }
}

5.cmd到根目录下,让 Django 知道我们在我们的模型有一些变更

python manage.py makemigrations

6.创造或修改表结构

python manage.py migrate 

7.创建超级用户,用于登录后台管理

python manage.py createsuperuser

8.安装VUE环境,下载node.js并配置环境,下载npm包管理器,安装vue脚手架用于生成vue工程模板

npm install --global vue-cli

9.cmd进入frontend目录下,运行npm install安装相关依赖包

10.打包

npm run build

11.运行启动django服务

python manage.py runserver 0.0.0.0:8000 

12.现在就可以访问 http://127.0.0.1:8000 进行登录, http://127.0.0.1:8000/admin 为后台管理平台(注:如果登录不了的话,可能是接口请求地址错误,修改api_automation_test/frontend/src/api/api.js 注释其他IP,保留127.0.0.1

export const test = 'http://127.0.0.1:8000';

项目讲解:

1、登陆,用户只能由后台创建




2、目前只开放了接口测试,所有只有项目列表页面,可完成项目的新增,删除,查询,修改,批量删除




3、后台管理页面,主要用作数据管理,及项目人员添加删除




4、下载后的接口文档模板




5、自动化测试生成的报告,保留最近10次测试结果



评论列表
githublitao 发表于 2018年08月16日
leeya 发表于 2018年08月16日

File "D:\Python\Python36\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in _load_unlocked
File "", line 678, in exec_module
File "", line 219, in _call_with_frames_removed
File "E:\PycharmProjects\api_automation_test\api_test\apps.py", line 2, in
from suit.apps import DjangoSuitConfig
ModuleNotFoundError: No module named 'suit.apps'

请问这个问题怎么解决?

fuwuyong 发表于 2018年08月15日

已经OK了,看源代码咯

fuwuyong 发表于 2018年08月14日

File "C:\Python36\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in _load_unlocked
File "", line 678, in exec_module
File "", line 219, in _call_with_frames_removed
File "D:\api_automation_test\api_test\apps.py", line 2, in
from suit.apps import DjangoSuitConfig
ModuleNotFoundError: No module named 'suit.apps'

我执行报没有改模块,我实际导入,suit下确实没有apps,请问django-suit的版本号?

strarboy 发表于 2018年08月04日

用pycharm跑起来报错,能帮忙看看吗?
/Users/aaa/Documents/api_automation_test/venv/bin/python /Users/aaa/Documents/api_automation_test/manage.py runserver 0.0.0.0:8000
Traceback (most recent call last):
File "/Users/aaa/Documents/api_automation_test/manage.py", line 8, in
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/Users/aaa/Documents/api_automation_test/manage.py", line 14, in
) from exc
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Process finished with exit code 1

zlfium 发表于 2018年08月03日

能加下好友嘛 项目中有些疑问需要了解下 q:515488179