unittest(7)-作业- 全局变量传递cookie

全局变量存储cookie

测试类中有多个测试函数

# 1.http_requset.py

import requests


class HttpRequest:
    def http_request(self, url, method, data=None, cookie=None):
        try:
            if method.upper() == "GET":
                res = requests.get(url, data, cookies=cookie)
            elif method.upper() == "POST":
                res = requests.post(url, data, cookies=cookie)
            else:
                print("请输入正确的参数")
        except Exception as e:
            print("请求报错了:{}".format(e))
            raise e
        return res


if __name__ == '__main__':
    # 登录
    login_url = "http://v.rainbowred.com/login"
    login_data = {"username": "15546355872",
                  "password": "123456",
                  "rememberCheck": "1",
                  "loginStatus": "1",
                  "rememberStatus": "1",
                  "autoLogin": "0",
                  "language": "zh"}
    login_res = HttpRequest().http_request(login_url, "post", login_data)
    print(login_res.json())

    # 选择公司
    c_url = "http://v.rainbowred.com/chc"
    c_data = {"companyId": "21"}
    c_res = HttpRequest().http_request(c_url, "post", c_data, cookie=login_res.cookies)
    print(c_res.json())

  

# 2.test_login.py

import unittest
from API_AUTO.tools.http_request import HttpRequest
COOKIE = None  # 全局变量
"""
1.登录接口:4个用例
正确登录、不输入账号、不输入密码、错误账号、错误密码
2.充值接口:
正常充值、不输入账号、不输入金额、充值错误的金额负数
"""


class TestLogin(unittest.TestCase):
    def setUp(self):
        print("开始执行用例")
        # 登录URL和考勤URL,这个地方的URL和data是写死的值,所以不用在setUp中传参
        self.loin_url = "https://www.ketangpai.com/UserApi/login"
        self.kq_url = "https://www.ketangpai.com/SummaryApi/attence?courseid=MDAwMDAwMDAwOcqZWH37Np"

    def tearDown(self):
        print("用例执行完毕")

    def test_success(self):
        global COOKIE
        data = {"email": "[email protected]", "password": "huahua90!@", "remember": 0}
        res = HttpRequest().http_request(self.loin_url, "post", data)
        r = res.json()["info"]
        print("1正常登录结果是", r)
        if res.cookies:  # 如果res.cookies有值,就更新全局变量COOKIE的值
            COOKIE = res.cookies
        try:
            self.assertEqual(r, "success")
        except AssertionError as e:
            print("test_success's error is {}".format(e))
            raise e  # 处理了异常后再抛出去

    def test_account(self):
        data2 = {"email": "", "password": "huahua90!@", "remember": 0}
        res = HttpRequest().http_request(self.loin_url, "post", data2)
        r = res.json()["info"]
        print("2空用户名登录结果是", r)
        try:
            self.assertEqual(r, "用户名不能为空")
        except AssertionError as e:
            print("test_account's error is {}".format(e))
            raise e

    def test_pwd(self):
        data3 = {"email": "[email protected]", "password": "", "remember": 0}
        res = HttpRequest().http_request(self.loin_url, "post", data3)
        r = res.json()["info"]
        print("3空密码登录结果是", r)
        try:
            self.assertEqual(r, "密码不能为空")
        except AssertionError as e:
            print("test_pwd's error is {}".format(e))
            raise e

    def test_waccount(self):
        data4 = {"email": "[email protected]", "password": "huahua90!@", "remember": 0}
        res = HttpRequest().http_request(self.loin_url, "post", data4)
        r = res.json()["info"]
        print("4错误用户名登录结果是", r)
        try:
            self.assertEqual(r, "用户不存在")
        except AssertionError as e:
            print("test_waccount's error is {}".format(e))
            raise e

    def test_wpwd(self):
        data5 = {"email": "[email protected]", "password": "huahua90!@111", "remember": 0}
        res = HttpRequest().http_request(self.loin_url, "post", data5)
        r = res.json()["info"]
        print("5错误密码登录结果是", r)
        try:
            self.assertEqual(r, "密码错误,你不能再尝试了", "这个用例会失败")
        except AssertionError as e:
            print("test_wpwd's error is {}".format(e))
            raise e

    def test_kq(self):
        global COOKIE
        data = {}
        res = HttpRequest().http_request(self.kq_url, "get", data, COOKIE)
        # r = res.json()
        print("6考勤记录是", res)


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

猜你喜欢

转载自www.cnblogs.com/come202011/p/12231246.html
今日推荐