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 ...
随机推荐
- 如何看iOS崩溃日志
重点:Triggered by Thread这句话后边的线程号,快速定位问题出现在那个线程,是否是你的锅:Triggered by Thread所指的线程表示导致异常.崩溃的线程 下边内容转自简书 简 ...
- Codeforces Round #553 (Div. 2) A题
题目网址:http://codeforces.com/contest/1151/problem/A 题目大意:给定一个由大写字母构成的字符串和它的长度,有这样的操作,使任意一个字母变成与其相邻的字母, ...
- CRM--自定义stark
一:启动 解释django的启动 完成以上两步,在app01下创建stark.py文件,就会被加载 (admin.py就是这样启动的) 二:注册 三:设计urls 四:增删改查
- vue父子组件实现v-model
话不多说,直接上代码 <div id="app"> <price-input v-bind:value="price" v-on:input= ...
- vs code 配置 php xdebug
1.安装扩展 php debug 2.下载xdebug插件 做个页面输出phpinfo(),复制到这个页面 https://xdebug.org/wizard.php 提交后会告诉你机子要下载哪个版本 ...
- aws
名称 对应的技术 EC2 虚拟机技术 Virtual Machine 抽象了物理机,看到的是多台虚拟的机器 需要配置管理存储.网络.操作系统等 数分钟启动,运行数周或数月 ECS 容器 Contain ...
- centos7 使用ss和Privoxy 实现命令行访问google
1.更新yum 这里可能更新时间有点长,,稳住~别急 yum -y upgrade 2.安装 epel-release 这个必须先安装,因为: python-pip 和 privoxy 都在EPEL源 ...
- windows server 2016安装
slmgr /skms kms.03k.org slmgr /ato slmgr /ipk WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY kms服务器: https://03k.org/ ...
- C# WPF 父控件通过使用可视化树找到子控件
在我们使用WPF设计前台界面时,经常会重写数据模板,或者把控件放到数据模板里.但是一旦将控件放到数据模板中,在后台就没有办法通过控件的名字来获取它了,更没办法对它进行操作(例如,隐藏,改变控件的某个值 ...
- angularJs $templateCache
模板加载后,AngularJS会将它默认缓存到 $templateCache 服务中.在实际生产中,可以提前将模板缓存到一个定义模板的JavaScript文件中,这样就不需要通过XHR来加载模板了 $ ...