27、针对有COOKIE时的测试用例执行

------以充值为例

1、excel中编写一个测试用例

注:在充值之前我们需要登陆获取COOKIE值来进行充值,因此第一条用例必须是cookie

2、读取excel

from openpyxl import load_workbook


# 相对路径  绝对路径
# 打开工作簿
class DoExcel:
    def get_data(self, file_name, sheet_name):
        #       wb=load_workbook("../testcase_03/test.xlsx")
        wb = load_workbook(file_name)
        sheet = wb[sheet_name]

        test_data = []
        for i in range(2, sheet.max_row + 1):
            row_data = {}
            row_data['case_id'] = sheet.cell(i, 1).value
            row_data['url'] = sheet.cell(i, 2).value
            row_data['data'] = sheet.cell(i, 3).value
            row_data['title'] = sheet.cell(i, 4).value
            row_data['http_method'] = sheet.cell(i, 5).value
            test_data.append(row_data)
        return test_data

    def write_back(self, file_name, sheet_name, i, value, j=6):  # 专门写回数据
        wb = load_workbook(file_name)
        sheet = wb[sheet_name]
        sheet.cell(i, j).value = value
        wb.save(file_name)


if __name__ == '__main__':
    res = DoExcel().get_data("D:\PycharmProjects\class_01\\testcase_03\\test.xlsx", 'Sheet1')
    print(res)

3、http请求

import requests


class HttpRequest:
    def http_request(self, url, data, http_method):
        try:
            if http_method.lower() == 'get':
                res = requests.get(url, data, verify=False)
                return res  # 返回结果
            elif http_method.lower() == 'post':
                res = requests.post(url, data, verify=False)
                return res  # 返回结果
            else:
                print("输入的请求方法不对")
        except Exception as e:
            print("请求报错了:{0}".format(e))
            # 抛出异常
            raise e

4、执行测试用例

from testcase_03.http_request import HttpRequest
from testcase_03.do_excel import DoExcel

#全局变量
COOKIE=None

def run(test_data):  # 传入列表嵌套字典的数据格式进来
    global COOKIE
    for item in test_data[0:5:1]:
        print("正在测试的用例是{0}".format(item['title']))
        res = HttpRequest().http_request(item["url"], str(item["data"]), item["http_method"])
        if res.cookies:#如果返回值是true     表示有cookie就把cookie赋值给COOKIE
            COOKIE=res.cookies
        print("请求的结果是:{0}".format(res.json()))
        DoExcel().write_back(r"D:\PycharmProjects\class_01\\testcase_03\\test.xlsx", 'Sheet1', item['case_id']+1,
                             str(res.json()))


test_data = DoExcel().get_data(r"D:\PycharmProjects\class_01\\testcase_03\\test.xlsx", 'Sheet1')
run(test_data)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值