12、self.cookie与global cookie两种方法

一、编写的测试用例(依赖关系,第二个操作里面需要用到第一个操作里面的某些值)

方法一: 共用

import unittest
from testcase.class_02_02 import HttpRequest

#登录接口
class Login(unittest.TestCase):
    def setUp(self):
        #+self表示这个属性能被实例调用,可以在类函数里面调用
        #登录
        #放入生成cookie的步骤
        self.login_url = '登录的url'
        self.login_data = {
            """
            参数
            """
        }
        self.recharge_url = '充值的url'
        #获取登录后的cookies
        self.cookies=HttpRequest().http_request(self.login_url,self.login_data,'get')
        print("setUp函数里面登录后残剩的cookies是:{0}".format(self.cookies))


    #针对于登录不需要cookie
    #正常登录
    def test_login_normal(self):
        #data不能共用,用例就是通过data不同来进行的测试
        data = {
            """
            参数
            """
        }
        res = HttpRequest().http_request(self.login_url, data, 'get')
        try:
            self.assertEqual('10001', res.json()['code'])
        except Exception as e:
            print("test_login_normal's error is {0}".format(e))
        #打印出请求的结果
        print(res.json())

    #输入错误的密码
    def test_login_wrong_pwd(self):
        data = {
            """
            参数
            """
        }
        res = HttpRequest().http_request(self.login_url, data, 'get')
        self.assertEqual('密码不能为空', res['msg'])
        try:
            self.assertEqual('20111', res.json()['code'])
        except Exception as e:
            print("test_login_wrong_pwd's error is {0}".format(e))
            # 抛出异常
            raise e
        print(res.json())

    #针对于充值需要传入cookie
    #正常充值
    def test_recharge_normal(self):
        # recharge_url = '充值地址'
        recharge_data = {
            """
            参数
            """
        }
        res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post',self.cookies)  
        try:
            self.assertEqual('10001', res.json()['code'])
        except Exception as e:
            raise Exception("test_recharge_normal's error is {0}".format(e))
        print(res.json())

    #充值为负数
    def test_recharge_negative(self):
        # recharge_url = '充值地址'
        recharge_data = {
            """
            参数
            """
        }
        res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post',self.cookies)  # 少了cookie
        try:
            self.assertEqual('20117', res.json()['code'])
        except Exception as e:
            print("test_recharge_negative's error is {0}".format(e))
            raise e
        print(res.json())

    def tearDown(self):
        print("我已经执行完毕测试用例了")

方法二:全局变量cookie(缺点:关联性比较强,一步错,步步错)

import unittest
from testcase.class_02_02 import HttpRequest

# 全局变量  局部变量
COOKIE = None


# 登录接口
class Login(unittest.TestCase):
    def setUp(self):
        self.login_url = '登录的url'
        self.recharge_url = '充值的url'

    def test_login_normal(self):
        # 声明全局变量
        global COOKIE
        data = {
            """
            参数
            """
        }
        res = HttpRequest().http_request(self.login_url, data, 'get')
        if res.cookies:  # 如果cookie有的话 就更新COOKIE
            COOKIE = res.cookies
        try:
            self.assertEqual('10001', res.json()['code'])
        except Exception as e:
            print("test_login_normal's error is {0}".format(e))
        # 打印出请求的结果
        print(res.json())

    def test_login_wrong_pwd(self):
        data = {
            """
            参数
            """
        }
        res = HttpRequest().http_request(self.login_url, data, 'get')
        self.assertEqual('密码不能为空', res['msg'])
        try:
            self.assertEqual('20111', res.json()['code'])
        except Exception as e:
            print("test_login_wrong_pwd's error is {0}".format(e))
            # 抛出异常
            raise e
        print(res.json())

    # 针对于充值需要传入cookie
    # 正常充值
    def test_recharge_normal(self):
        global COOKIE
        recharge_data = {
            """
            参数
            """
        }
        res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post', COOKIE)  
        try:
            self.assertEqual('10001', res.json()['code'])
        except Exception as e:
            raise Exception("test_recharge_normal's error is {0}".format(e))
        print(res.json())

    # 充值为负数
    def test_recharge_negative(self):
        # recharge_url = '充值地址'
        recharge_data = {
            """
            参数
            """
        }
        res = HttpRequest().http_request(self.recharge_url, recharge_data, 'post', COOKIE) 
        try:
            self.assertEqual('20117', res.json()['code'])
        except Exception as e:
            print("test_recharge_negative's error is {0}".format(e))
            raise e
        print(res.json())

    def tearDown(self):
        print("我已经执行完毕测试用例了")

 三、输出的测试报告

# ..成功  F失败 1代码错误
import unittest
import HTMLTestRunner
from testcase import class_02_01 #导入模块名
import time
import os

suite = unittest.TestSuite()  # 存储用例

loader = unittest.TestLoader()  # 创建一个加载器

suite.addTest(loader.loadTestsFromModule(class_02_01))

# 新鲜 html
if __name__ == "__main__":
    time1 = time.strftime("%Y-%m-%d %H-%M-%S")
    name1 = time1 + "report.html"

with open(name1, 'wb') as file:
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=file,
        title="单元测试报告",
        description="测试用例执行统计1",
        verbosity=2
    )
    runner.run(suite)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值