10-Mock模拟接口返回数据
1、安装mock
方法一:pip安装
命令行直接输入:pip install mock
方法二:官网下载mock安装包安装
下载安装包后,解压,命令行进入解压目录,执行python setup.py install
2、mock模拟返回值
1)不封装,mock模拟返回值
# encoding:utf-8
from mock import mock
import unittest
from base.requestsDemo import SendMain # 创建测试类,继承unittest.TestCase
class MockTest(unittest.TestCase):
def setUp(self):
self.run = SendMain() def test_1(self):
# 定义请求的post数据并返回
postData = {'username': 'wangling', 'password': ''}
# 定义请求的post url
postUrl = 'http://127.0.0.1:8000/postDataHandle/'
# 定义请求的响应结果
respnse_data = postData
# 响应数据
mockData = mock.Mock(return_value=respnse_data)
# mockData是send_main方法的模拟值
self.run.send_main = mockData
res = self.run.send_main(postUrl, 'POST', postData)
print res def test_2(self):
getData = {'username': 'xiaohua', 'mobile': '', 'data': 'haha'}
getUrl = 'http://127.0.0.1:8000/getDataHandle'
mockData = mock.Mock(return_value=getData)
self.run.send_main = mockData
res = self.run.send_main(getUrl, 'GET', getData)
print res if __name__ == '__main__':
unittest.main()
2)封装,mock模拟返回值
可以将mock模拟返回结果封装一下,使代码重用性更高,具体如下:
# coding:utf-8
from mock import mock # 模拟mock封装
def mock_test(mock_method,url, method,response_data,request_data=None):
mock_method = mock.Mock(return_value=response_data)
res = mock_method(url, method, request_data)
return res
调用如下:
# encoding:utf-8
import unittest
from base.requestsDemo import SendMain
from base.mockdemoRe import mock_test # 创建测试类,继承unittest.TestCase
class MockTest(unittest.TestCase):
def setUp(self):
self.run = SendMain() def test_2(self):
getData = {'username': 'xiaohua', 'mobile': '', 'data': 'haha'}
getUrl = 'http://127.0.0.1:8000/getDataHandle'
respnseDate = getData
mock_test(self.run.send_main,getUrl,'GET',respnseDate,getData)
res = self.run.send_main(getUrl, 'GET', getData)
print res if __name__ == '__main__':
unittest.main()
10-Mock模拟接口返回数据的更多相关文章
- mock模拟接口返回数据
mock,是python中模拟接口返回数据 1.安装 pip install mock import unittest from mock import Mock def add(a,b): pass ...
- vue项目中使用mockjs模拟接口返回数据
Mock.js 是一个模拟数据生成器,利用它,可以拦截ajax请求,直接模拟返回数据,这样前后端只要约定好数据格式,前端就不需要依赖后端的接口,可以直接使用模拟的数据了. 网上介绍mock的教程也较多 ...
- python接口自动化26-参数关联和JSESSIONID(上个接口返回数据作为下个接口请求参数)
前言 参数关联是接口测试和性能测试最为重要的一个步骤,很多接口的请求参数是动态的,并且需要从上一个接口的返回值里面取出来,一般只能用一次就失效了. 最常见的案例就是网站的登录案例,很多网站的登录并不仅 ...
- 酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)
酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章) 最近手头在开发一个游戏官网,在支付模块采用神州付技术支持,神州付数据表单中要求提供服务器返回地 ...
- python3乱码问题:接口返回数据中文乱码问题解决
昨天测试接口出现有一个接口中文乱码问题,现象: 1 浏览器请求返回显示正常 2 用代码请求接口返回数据中文显示乱码 3 使用的python3,python3默认unicode编码,中文都是可以正常显示 ...
- carry-检查数据接口返回数据合法性
问题背景: 在测试&部署监控过程中,我们常常会遇到外部接口返回数据不靠谱的时候.最常见的场合是从某个http获取如json和xml等结构化的结果,进行解析并处理,在这时候出现以下这几种常见类型 ...
- 通过Fiddler肆意修改接口返回数据进行测试
[本文出自天外归云的博客园] 方法介绍与比对 在测试的过程中,有的需求是这样的,它需要你修改接口返回的数据,从而检查在客户端手机app内是否显示正确,这也算是一种接口容错测试,接口容错测试属于app性 ...
- POST请求成功,但接口返回数据不正确
事件:使用Jmeter做APP的搜索接口测试,请求成功了,但无论keyword是什么“内容”(这里的内容是带引号的哦),接口返回的内容都是:未匹配到搜索结果 排查问题: keyword=“世界” st ...
- Mbp通过筛选器和中间件实现异常,日志,事务及接口返回数据格式化aop处理.
Mbp应用服务层的AOP实现 实现方法:asp.net core mvc 筛选器 + 中间件 日志,事务,和接口返回结果统一格式化采用操作筛选器,而异常处理采用中间件来处理. 最开始,我是打算用aut ...
随机推荐
- JSP(介绍,语法,指令)
什么是JSP JSP全名为Java Server Pages,java服务器页面.JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在! JSP的工作原理 其实JSP在第一次被访问的时 ...
- ASP.NET Core Web多语言项目
公司效益好了,准备和国外做生意,这个时候就需要多语言了. > 1. 这是一个ASP.NET Core Web多语言项目,主要展示项目的不同: > 2. 第一种:www.xxx.com/en ...
- handle java
关于java中的引用 我觉得在"think in java"这本书里面讲得很好 在那本书里 他们把引用叫做"句柄"(Handle) java中就是用" ...
- bootstrap treeview 树形数据生成
这个问题还是挺经典的,后台只是负责查出所有的数据,前台js来处理数据展示给treeview;show you the code below:<script> $(function () { ...
- Bar 柱状图
1.生成基本图形 向上向下分别生成12个数据,X为 0 到 11 的整数 ,Y是相应的均匀分布的随机数据. 使用的函数是plt.bar,参数为X和Y: import matplotlib.pyplot ...
- 第二阶段第十次spring会议
昨天我对宠物信息进行了添加和调整. 今天我将继续对宠物信息添加保存按钮. private void button2_Click(object sender, EventArgs e) { Settin ...
- Sublime text 2/3 [Decode error - output not utf-8] 完美解决方法
原文链接 http://blog.csdn.net/bbdxf/article/details/25594703 [Decode error - output not utf-8]或者[Decode ...
- Chapter5_初始化与清理_数组初始化与可变参数列表
一.数组初始化 数组是相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.编译器是不允许指定数组的长度的,当使用语句int[] a时,拥有的只是一个符号名,即一个数组的引用,并不拥 ...
- 89、instancetype和id的区别
1>instancetype在类型表示上,跟id一样,可以表示任何对象类型 2>instancetype只能用在返回值类型上,不能像id一样用在参数类型上 3>instancetyp ...
- Latex引用\ref
在等式/图/定理等后面加\label{name} 正文引用方法:等式使用 \eqref{name},非等式引用可使用\ref{name}.