PYTHON之MOCK WEB接口
2024-08-26 13:14:31
在日常的测试工作中,有时会有需要调用外部接口,拿到返回数据用以满足当前的测试任务的需求。但是当外部接口不可用,或者没有提供测试用环境时,我们就需要自己来mock一个接口的返回内容了,先让我们看一看下面的这段代码
from wsgiref.simple_server import make_server def application(environ,response):
response('200 OK', [('Content-Type', 'text/html')])
res = b'BestTest'
return [res] http = make_server('',8000,application)
print('server in 8000....')
http.serve_forever()
上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:
- environ:一个包含所有HTTP请求信息的dict对象;
- response:一个发送HTTP响应的函数。
而response('200 OK', [('Content-Type', 'text/html')])
则是将http响应的header发出去,同时需要注意的是只能发送一次。response()
函数会接收两个参数,一个是HTTP响应码,也就是'200 OK'
,一个是一组list表示的HTTP Header,每个Header用一个包含两个str的tuple表示。
直接运行这段代码,同时请求我们本机的ip:8000 或127.0.0.1:8000这个地址,在这时会发现我们设置的返回结果出现在了屏幕上。
但是问题就来了,有的人会问:我要的接口返回的是一段json返回呀,你这个只是一个字符串的返回我根本用不了啊,那么让我们来试试下面这一段
from wsgiref.simple_server import make_server
import json def application(environ,response):
response('200 OK', [('Content-Type', 'text/json')])
res = {'data':[{"class":'BestTest性能测试',"Teacher":'安大叔'},
{"class":'BestTest性能测试',"Teacher":'liml'}]}
return [json.dumps(res).encode('utf-8')] http = make_server('',8000,application)
print('server in 8000....')
http.serve_forever()
我们再来运行一下试试看
好了,这下返回的结果可以使用了。
最新文章
- ASP.NET Core开发-后台任务利器Hangfire使用
- 使用JavaService.exe(amd64)发布java服务(jdk x64)
- mysql 线上not in查询中的一个坑
- 一个四叉树Demo学习
- windows下mysql 控制台操作
- 纯CSS美化的checkbox 和 radio
- cocos2d CCLOG格式符号表
- CodeForces 621B Wet Shark and Bishops
- PHP做负载均衡回话保持问题参考
- ThinkPHP中使用PHPMailer邮件类
- Discuz 5.x 6.x 7.x 前台SQL注入漏洞
- App拉起小程序提示跳转失败
- UI设计篇·入门篇·简单动画的实现,为布局设置动画,用XML布置布局动画
- 用javascript判断当前是安卓平台还是ios平台
- 自定义alert弹框,title不显示域名
- react-native ios打包 、设置图标 启动图片
- Python+Selenium笔记(三):使用unittest
- golang语言调试
- ZOJ 1203 Swordfish(Prim算法求解MST)
- 20145203盖泽双:Java实验报告二
热门文章
- php 浮点数
- 『Scipy』常用方法记录
- Linux fcntl函数设置阻塞与非阻塞
- 015PHP文件处理——文件处理flock 文件锁定 pathinfo realpath tmpfile tempname
- svn: E200009: 'lib/systemd/system/dropbear@.service': a peg revision is not allowed here problem
- weblogic控制台定制不同权限的用户
- Thinking in Java笔记之类及对象的初始化
- 1.3 C++引用(Reference)
- L1-030 一帮一
- Python 编程核心知识体系-模块|面向对象编程(三)