python mock之接口请求及测试用例

1.下载mock

 

2.login.json

编写内容:

[
  {
    "request" :
      {
        "method" : "post",
        "uri" : "/login",
        "json":
        {
        "username":"admin",
        "password":"admin",
        "roleID":22
        }

    },
    "response" :
      {
        "json" :
        {
        "username":"xiaolizi",
        "userID":22,
        "token":"asdgfhh322456asfgrsfss"
        }        
      }
  }
]

3.命令行运行

java -jar moco-runner-0.12.0-standalone.jar http -p 12306 -c login.json

 

 4.用postman 发送post请求

 

 5.编写测试用例

上代码

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import unittest
import requests
"""
2.mock login接口,测试用例
"""
class MockLoginTest(unittest.TestCase):
    def setUp(self):
        self.url='http://localhost:12306'

    def tearDown(self):
        pass

    def getUrl(self,path):
        return self.url+path

    def getToken(self):
        """get token"""
        data={
            "username":"admin",
            "password":"admin",
            "roleID":22
        }
        r=requests.post(self.getUrl('/login'),json=data)
        #print("token----------",r.json()['token'])
        return r.json()['token']

    def test_login(self):
        """验证登录的接口"""
        data={
            "username":"admin",
            "password":"admin",
            "roleID":22
        }

        r=requests.post(self.getUrl("/login"),json=data)
        #print("username---------",r.json()['username'])
        self.assertEqual(r.status_code,200)
        self.assertEqual(r.json()['username'],'xiaolizi')

if __name__=='__main__':
    unittest.main(verbosity=2)

执行结果:

 

 接口请求,用python写

上代码

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import requests
import json
"""
1.mock login请求接口
"""
url="http://localhost:12306/login"

data= {"username":"admin","password":"admin","roleID":22}
#json转换成字符串
data=json.dumps(data)
headers = {'content-type': 'application/json'}

response=requests.request("POST",url,headers=headers,data=data)
#response=requests.post(url,headers=headers,json=data)

print(response.status_code)
print(response.json())
print(response.url)
print(response.text)        # 打印解码后的返回数据
print(response.content)

 

posted @ 2020-03-20 15:03  Golover  阅读(1039)  评论(0编辑  收藏  举报