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 ...
随机推荐
- 2018-2019-2 20175218 实验一《Java开发环境的熟悉》实验报告
实验内容.步骤与体会: 1.实验过程的理解,实验指导书中知识点的理解. (1)知道了JVM.JRE.JDK之间的区别. JVM就是我们熟知的Java虚拟机:JRE是Java运行环境:而JDK则是Jav ...
- QT Designer基础——登录界面设计基础版
认识QT Designer提供的可选控件:以下八个大类 Layouts:布局相关 Spacers:留空 Buttons:可点击的按钮类 Item Views和 Item Widgets:高级控件,例如 ...
- sql的日期和时间函数–date_format
Mysql的日期和时间函数–date_format DATE_FORMAT(date,format)依照 format 字符串格式化 date 值.下面的修饰符可被用于 format 字符串中:修 ...
- linklist和arraylist区别
ArrayList更适合读取数据,linkedList更多的时候添加或删除数据.
- 'BAPI_MESSAGE_GETDETAIL' 用法
其中message class是在se91里创建的 call function 'BAPI_MESSAGE_GETDETAIL' exporting id = msg_class “m ...
- Oracle 12导出、导入数据
Precondition: complete the work described in Oracle 12 创建新的数据库实例.用户 1. export data under user " ...
- Purge and Seal Test on 09 GMC Yukon with Autel Maxisys Pro MS908P scanner
Autel Maxisys Pro MS908P diagnostic scanner does a purge and seal test on 2009 GMC Yukon hybrid succ ...
- python3 第二十八章 - 内置函数之List相关
Python包含以下函数: 序号 函数 实例 1 list.append(obj)在列表末尾添加新的对象 2 list.count(obj)统计某个元素在列表中出现的次数 3 list.ext ...
- Centos 7 下安装 Docker
docker目前只支持Centos 7及以后的版本,系统要求:64位,内核版本至少在3.10及以后版本. 第一步: 添加软件源,安装依赖软件包以方便对devicemapper存储的 ...
- Python 3.6安装yaml时报"AttributeError: module 'pip' has no attribute 'main'"和“Non-zero exit code”错误
1.Python 3.6安装yaml时一开始报AttributeError: module 'pip' has no attribute错误,根据网上提供的解决方法修改Pycharm安装目录D:\Pr ...