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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM