我是靠谱客的博主 清秀硬币,最近开发中收集的这篇文章主要介绍python接口测试之mock(九)     在http://www.cnblogs.com/weke/articles/6859021.html中对mock-server已经做了 初步的介绍,今天这里继续接着之前的介绍进行,我们先看之前的mock-server部分,之前编写 了一个登录的mock,具体json文件见如下的内容: [ { "request": { "method":"post", "uri":"/,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

    在http://www.cnblogs.com/weke/articles/6859021.html中对mock-server已经做了

初步的介绍,今天这里继续接着之前的介绍进行,我们先看之前的mock-server部分,之前编写

了一个登录的mock,具体json文件见如下的内容:

复制代码
[
{
"request":
{
"method":"post",
"uri":"/login",
"json":
{
"username":"admin",
"password":"admin",
"roleID":22
}
},
"response":
{
"json":
{
"username":"wuya",
"userID":22,
"token":"asdgfhh32456asfgrsfss"
}
}
}
]
复制代码

 

查看上面的内容,我们可以看出,这样的方式并不是那么的友好,在UI或者接口的自动化测试中,我们知道在

TDD的模式中,对数据进行分离,这样也是为了维护的方便,这样的目的是为了后期自动化测试用例的扩展性,

和它的易维护性,那么下来我们来对上面的json文件进行修改下,对response部分的数据进行分离下,把它

放在一个文件中,这样就可以分离了出来,我们把response的内容从login.json分离到login_response.json

切记login.json与login_response.json务必保持在同一个目录下,见login.json的内容:

复制代码
[
{
"request":
{
"method":"post",
"uri":"/login",
"json":
{
"username":"admin",
"password":"admin",
"roleID":22
}
},
"response":
{
"file":"login_response.json"
}
}
]
复制代码

 

见login_response.json文件的内容:

{
"username":"wuya",
"userID":22,
"token":"asdgfhh32456asfgrsfss"
}

 

执行login.json文件后,访问该接口,看是否OK,见执行login.json文件的命令:

使用postman查看该接口,看是否OK,见如下的截图:

    下面我们再进行一个业务,就是输入一个车牌号,查询该车牌号的显示时长,和它的停车费用,直接在loginjson

文件中完善,见完善后的内容:

复制代码
[
{
"request":
{
"method":"post",
"uri":"/login",
"json":
{
"username":"admin",
"password":"admin",
"roleID":22
}
},
"response":
{
"file":"login_response.json"
}
},
{
"request":
{
"method":"post",
"uri":"/parkinside",
"json":
{
"token":"asdgfhh32456asfgrsfss",
"vpl":"AJ3585"
}
},
"response":
{
"file":"parkinside.json"
}
}
]
复制代码

 

见parkinside.json文件的内容:

复制代码
{
"vplInfo":
{
"userID":22,
"username":"wuya",
"vpl":"京AJ3585"
},
"Parking time long":"20小时18分钟",
"Parking fee":"20$"
}
复制代码

 

见查询停车时长的接口请求的结果,见如下的postman截图:

 

下面我们通过python语言,来对如上的二个接口进行实战的操作,切记parkinside的接口是在登录之后才可以操作的业务,未登录操作该业务,返回502无效的

token,见实现的代码:

复制代码
#!/usr/bin/env python 
# -*- coding:utf-8 -*-
import
unittest
import
requests
class MockTest(unittest.TestCase):
def setUp(self):
self.url='http://localhost:12306'
def tearDown(self):
pass
def test_login(self,url='/login'):
'''验证登录的接口'''
data={
"username":"admin",
"password":"admin",
"roleID":22
}
r=requests.post(self.url+url,json=data)
self.assertEqual(r.status_code,200)
self.assertEqual(r.json()['username'],'wuya')
def getToken(self,url='/login'):
'''登录成功后获取token'''
data={
"username":"admin",
"password":"admin",
"roleID":22
}
r=requests.post(self.url+url,json=data)
return r.json()['token']
def test_parkingside(self,url='/parkinside'):
'''验证查询停车时长接口'''
data={
"token":self.getToken(),
"vpl":"AJ3585"
}
r=requests.post(self.url+url,json=data)
self.assertEqual(r.status_code,200)
self.assertEqual(r.json()['Parking time long'],u'20小时18分钟')
self.assertEqual(r.json()['Parking fee'], u'20$')
if __name__=='__main__':
unittest.main(verbosity=2)
复制代码

 转载地址:http://www.cnblogs.com/weke/articles/6941884.html


最后

以上就是清秀硬币为你收集整理的python接口测试之mock(九)     在http://www.cnblogs.com/weke/articles/6859021.html中对mock-server已经做了 初步的介绍,今天这里继续接着之前的介绍进行,我们先看之前的mock-server部分,之前编写 了一个登录的mock,具体json文件见如下的内容: [ { "request": { "method":"post", "uri":"/的全部内容,希望文章能够帮你解决python接口测试之mock(九)     在http://www.cnblogs.com/weke/articles/6859021.html中对mock-server已经做了 初步的介绍,今天这里继续接着之前的介绍进行,我们先看之前的mock-server部分,之前编写 了一个登录的mock,具体json文件见如下的内容: [ { "request": { "method":"post", "uri":"/所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部