PYTHON之MOCK WEB接口
在日常的测试工作中,有时会有需要调用外部接口,拿到返回数据用以满足当前的测试任务的需求。但是当外部接口不可用,或者没有提供测试用环境时,我们就需要自己来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()
我们再来运行一下试试看

好了,这下返回的结果可以使用了。
PYTHON之MOCK WEB接口的更多相关文章
- 基于Python + requests 的web接口自动化测试框架
		
之前采用JMeter进行接口测试,每次给带新人进行培训比较麻烦,干脆用python实现,将代码和用例分离,易于维护. 项目背景 公司的软件采用B/S架构,进行数据存储.分析.管理 工具选择 pytho ...
 - 《Python Web 接口开发与测试》---即将出版
		
为什么要出这样一本书? 首先,今年我有不少工作是跟接口自动化相关的,工作中的接口自动化颇有成效. 我一直是一个没有测试大格局的人,在各种移动测试技术爆发的这一年,我却默默耕耘着自己的一亩三分地儿(We ...
 - python WEB接口自动化测试之requests库详解
		
由于web接口自动化测试需要用到python的第三方库--requests库,运用requests库可以模拟发送http请求,再结合unittest测试框架,就能完成web接口自动化测试. 所以笔者今 ...
 - 《Web接口开发与自动化测试 -- 基于Python语言》 ---前言
		
前 言 本书的原型是我整理一份Django学习文档,从事软件测试工作的这六.七年来,一直有整理学习资料的习惯,这种学习理解再输出的方式对我非常受用,博客和文档是我主要的输出形式,这些输出同时也帮 ...
 - 《Web接口开发与自动化测试 -- 基于Python语言》---现已出版。
		
终于可以购买了!! 有需要的同学通过下面链接购买. 购买来链接: https://item.jd.com/11806319423.html 为什么要出这样一本书? 首先,今年我有不少工作是跟接口自动化 ...
 - 基于Python的WEB接口开发与自动化测试  pdf(内含书签)
		
基于Python的WEB接口开发与自动化测试 目录 目 录O V目 录章 Python 学习必知 ................................................... ...
 - 关于《Web接口开发与自动化测试--基于Python语言》
		
关于封面logo 首先,你会被书封上面logo吸引,这么炫酷?双蛇杖?嗯,这是Requests的新logo. 旧的logo是一只乌龟. 新logo是双蛇杖: 看到新logo我首先想到的是 火爆全网页游 ...
 - Python 的mock模拟测试介绍
		
如何不靠耐心测试 可能我们正在写一个社交软件并且想测试一下"发布到Facebook的功能",但是我们不希望每次运行测试集的时候都发布到Facebook上. Python的unitt ...
 - python的高性能web应用的开发与测试实验
		
python的高性能web应用的开发与测试实验 tornado“同步和异步”网络IO模型实验 引言 python语言一直以开发效率高著称,被广泛地应用于自动化领域: 测试自动化 运维自动化 构建发布自 ...
 
随机推荐
- mac 地址
 - 『PyTorch』第七弹_nn.Module扩展层
			
有下面代码可以看出torch层函数(nn.Module)用法,使用超参数实例化层函数类(常位于网络class的__init__中),而网络class实际上就是一个高级的递归的nn.Module的cla ...
 - UVA-10655 Contemplation! Algebra (矩阵)
			
题目大意:给出a+b的值和ab的值,求a^n+b^n的值. 题目分析:有种错误的方法是这样的:利用已知的两个方程联立,求解出a和b,进而求出答案.这种方法之所以错,是因为这种方法有局限性.联立之后会得 ...
 - PHP:第一章——PHP中的goto语句和
			
goto语句: <?php header("Content-Type:text/html;charset=utf-8"); /*goto语句:可以代替break*/ //例1 ...
 - Openwrt Udev Configure(3)
			
1 Scope of Document This document describes how to write udev script, when enum usb device mayb ...
 - jw
			
1. ISO/OSI参考模型(七层) 应表会传 传输介质(双绞线,同轴电缆等)不在OSI7个层次之内 电气特性:电压表示0,1: 机械特性:接口形状,尺寸等 过程特性:出现顺序及信号线的工作原理 ...
 - docker 部署 flask(二)编写及生成镜像。
			
简介: 上一篇文章,我们简单的测试了一下服务器环境和docker基础镜像.并没有涉及我们自己编写的flask python程序. 现在,我们就要把我们自己的flask程序,放进docker镜像. 但是 ...
 - 离线部署 Cloudera Manager 5 和 CDH 5.12.1 及使用 CDH 部署 Hadoop 集群服务
			
Cloudera Manager Cloudera Manager 分为两个部分:CDH和CM. CDH是Cloudera Distribution Hadoop的简称,顾名思义,就是cloudera ...
 - pat 集合相似度
			
L2-005. 集合相似度 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定两个整数集合,它们的相似度定义为:Nc/Nt*1 ...
 - [HTML]去除li前面的小黑点,和ul、LI部分属性
			
[转] 对于很多人用div来做网站时,总会用到,但在显示效果时前面总是会有一个小黑点,这个令很多人头痛,但又找不到要源,其它我们可以用以下方法来清除.[HTML]去除li前面的小黑点,和ul.LI部分 ...