python+request+unittest 接口測試練習


import requests
import unittest
"""嘉賓查詢接口"""
class GuestQuery(unittest.TestCase):

    def setUp(self):
        self.url="http://127.0.0.1: 8000/api/get_event_list/"
    """使用錯誤的請求方式post 進行測試"""
    def test_method_post(self):
        res = requests.post(self.url)
        data = res.json()
        self.assertEqual(data["status"],"100" )
        self.assertEqual(data["message"],"請求方法錯誤")

    """使用get正確查詢"""
    def test_method_get(self):
        res = requests.get(self.url)
        data = res.json()
        # print(data)
        self.assertEqual(res.status_code,200)
        self.assertEqual(data["status"],"110)")
        self.assertEqual(data["message"],"查詢成功")

"""嘉賓添加接口"""
class GuestAdd(unittest.TestCase):
    def setUp(self):
        self.url = "http://127.0.0.1: 8000/api/add_event/"
        self.headers = {'Content-Type': 'application/json'}
    """使用錯誤的請求方法get 進行測試"""
    def test_get_guest(self):
        res = requests.get(self.url)
        data = res.json()
        self.assertEqual(res.status_code,200)
        self.assertEqual(data["status"],"404" )
        self.assertEqual(data["message"],"請求方法錯誤")

    """必填參數為空"""
    def test_add_guest_params_null(self):
        json ={}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        print(data)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(data["status"],"10020" )
        self.assertEqual(data["message"],"parameter null")
    """必填參數 值為空"""
    def test_add_guest_params_value_null(self):
        json = {
                "event_id": "",
                "realname": "",
                "phone": "",
                "email": "",
                "sign": ""}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        print(data)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(data["status"],"10021" )
        self.assertEqual(data["message"],"parameter error")
    """發布會id為不存在"""
    def test_add_guest_event_id(self):
        json = {
            "event_id": 88888,
            "realname": "張三",
            "phone": "15210001000",
            "email": "152100@qq.com",
            "sign": "0"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(res.status_code, 200)
        self.assertEqual(data["status"],"10022" )
        self.assertEqual(data["message"],"event id null")
    """發布會id為非整型"""
    def test_add_guest_event_id(self):
        json = {
            "event_id": "123",
            "realname": "張三",
            "phone": "15210001000",
            "email": "152100@qq.com",
            "sign": "0"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(res.status_code, 200)
        self.assertEqual(data["status"],"10023" )
        self.assertEqual(data["message"],"event status is not available")
    """發布會id已經達到limit人數"""
    def test_add_guest_event_id(self):
        json = {
            "event_id": "1",
            "realname": "張三",
            "phone": "15210001000",
            "email": "152100@qq.com",
            "sign": "0"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(res.status_code, 200)
        self.assertEqual(data["status"],"10024" )
        self.assertEqual(data["message"],"event number is full")
    """發布會已近結束"""
    def test_add_guest_event_id(self):
        json = {
            "event_id": "10",
            "realname": "張三",
            "phone": "15210001000",
            "email": "152100@qq.com",
            "sign": "0"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(res.status_code, 200)
        self.assertEqual(data["status"],"10025" )
        self.assertEqual(data["message"],"event has started")
    """S使用已簽到的手機號再次進行簽到"""
    def test_add_guest_event_id(self):
        json = {
            "event_id": "10",
            "realname": "張三",
            "phone": "15210001000",
            "email": "152100@qq.com",
            "sign": "0"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(res.status_code, 200)
        self.assertEqual(data["status"],"10026" )
        self.assertEqual(data["message"],"'the event guest phone number repeat")
    """使用未簽到的手機進行簽到"""
    def test_add_guest_event_id(self):
        json = {
            "event_id": "10",
            "realname": "張三",
            "phone": "15210001001",
            "email": "152100@qq.com",
            "sign": "0"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(res.status_code, 200)
        self.assertEqual(data["status"],"200" )
        self.assertEqual(data["message"],"'add guest success")

class Sign(unittest.TestCase):
    def setUp(self):
        self.url = "http://127.0.0.1: 8000/api/sign/"
        self.headers = {'Content-Type': 'application/json'}
    """使用錯誤的請求方法"""
    def test_method_get(self):
        res = requests.get(self.url)
        data = res.json()
        self.assertEqual(data["status"],"404" )
        self.assertEqual(data["message"],"請求方法錯誤")

    """請求參數為空"""
    def test_method_get(self):
        json = {}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"10020" )
        self.assertEqual(data["message"],"parameter is null")
    """請求參數 值為空"""
    def test_method_get(self):
        json = {"eid":"",
                "phone":""}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"10021" )
        self.assertEqual(data["message"],"parameter error")
    """發布會id不存在"""
    def test_method_get(self):
        json = {"eid":9999,
                "phone":"15210001000"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"10022" )
        self.assertEqual(data["message"],"event id null")

    """發布會狀態是關閉的"""
    def test_method_get(self):
        json = {"eid":1,
                "phone":"15210001000"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"10023" )
        self.assertEqual(data["message"],"event status is not available")
    """當前時間大於發布會時間,發布會已經開始了"""
    def test_method_get(self):
        json = {"eid":1,
                "phone":"15210001000"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"10024" )
        self.assertEqual(data["message"],"event has started")

    """使用嘉賓表不存在的手機號測試"""
    def test_method_get(self):
        json = {"eid":1,
                "phone":"1521888888"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"10025" )
        self.assertEqual(data["message"],"user phone null")
    """使用其他發布會手機號測試"""
    def test_method_get(self):
        json = {"eid":2,
                "phone":"1521888888"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"10026" )
        self.assertEqual(data["message"],"user did not participate in the conference")
    """使用已簽到的手機號測試"""
    def test_method_get(self):
        json = {"eid":1,
                "phone":"15210001000"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"10027" )
        self.assertEqual(data["message"],"user has sign in")
    """正常簽到"""
    def test_method_get(self):
        json = {"eid":1,
                "phone":"15210001001"}
        res = requests.post(self.url,json,self.headers)
        data = res.json()
        self.assertEqual(data["status"],"200" )
        self.assertEqual(data["message"],"sign success")


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

  


免責聲明!

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



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