python写个挡板程序,维护测试人员的脸面

目录

1 挡板程序的意义所在

压测或接口测试的时候,需要测试自己系统的性能或功能,不需要关注三方系统的,那么就需要写一个服务代替三方系统返回数据。
但是作为一个有coding能力的测试,找开发去写,是不是感觉面子挂不住,那么我们自己写一个!!!

2 需求分析

打个比方:
三方接口路径为:/api/v1/notify
正常返回为:

{"code":1,"msg":"success"}

我们单独写这么一个接口,还是比较简单的。但是如果接口路径改为了 /api/v1/testnotify 呢?我们需要再写一个?那就有点累了。如果返回也改了呢?。。。
接下来看我操作

3 开始写

我们用最简单易学的python+django来实现这个需求。

3.1 python+django环境搭建

安装python
去官网下载python安装包链接: https://www.python.org/downloads/
直接exe安装即可

安装django

pip install django

安装pyyaml

pip install pyyaml

3.2 搭建项目

3.2.1 创建项目

创建一个django项目
cmd中执行

django-admin startproject demo

创建一个应用
cmd中执行

django-admin startapp demoApp

如下:

python写个挡板程序,维护测试人员的脸面

3.2.2 添加一个配置文件

再demoApp目录下添加一个配置文件conf.yaml
文件内容包含 path、response,如下:

python写个挡板程序,维护测试人员的脸面

; 3.2.3 加载配置文件

在demoApp目录下添加一个py文件:loadConf.py,用来读取配置文件,如下:

python写个挡板程序,维护测试人员的脸面

3.2.4 添加接口

在demoApp目录的views.py文件中添加一个接口,如下:

python写个挡板程序,维护测试人员的脸面
该接口实现两个功能:
  1. 打印请求信息到控制台
  2. 以json格式返回配置文件中的response字段内容

; 3.2.5 配置接口路径

在demo目录下的urls.py文件中配置接口请求路径,如下:

python写个挡板程序,维护测试人员的脸面

3.2.6 修改项目配置

修改demo目录下的settings.py文件,支持其他ip访问、直接csrf,如下

python写个挡板程序,维护测试人员的脸面

; 3.3 启动项目看效果

3.3.1 启动项目

cmd中启动项目,命令如下:

python manage.py runserver 0.0.0.0:8080

3.3.2 浏览器测试

浏览器访问 http://192.168.2.111:8080/notify 如下:

python写个挡板程序,维护测试人员的脸面

; 3.3.3 post请求(json格式)测试

postman访问接口,post请求(json格式),如下:

python写个挡板程序,维护测试人员的脸面
控制台日志如下:
python写个挡板程序,维护测试人员的脸面

3.3.4 post请求(form表单)测试

postman访问接口,post请求(form表单),如下:

python写个挡板程序,维护测试人员的脸面
控制台日志如下:
python写个挡板程序,维护测试人员的脸面

; 3.3.5 get请求测试

postman访问接口,get请求,如下:

python写个挡板程序,维护测试人员的脸面
日志如下:
python写个挡板程序,维护测试人员的脸面

4 实际应用

接下来就是修改实际项目中的配置文件,将调用三方的接口地址改为你本地的。
应用场景:
1、业务处理成功后,调用第三方通知接口,三方给响应是否接口成功(如果成功,业务结束;如果不成功,隔1分钟再次回调)
2、屏蔽掉第三方业务处理耗时,测试自己业务系统的性能情况

需要另一个接口怎么办?
修改conf.yaml后,重新启动项目即可

快来联系我吧

python写个挡板程序,维护测试人员的脸面

Original: https://blog.csdn.net/u010098760/article/details/116449097
Author: peace老师
Title: python写个挡板程序,维护测试人员的脸面

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/737471/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球