自动化测试用例三

自动化测试用例三

目前代码相关的就告一段落哟。我继续学习。

简录

记录的是testcase文件中的 test_case文件中和test_login的代码。
提示:这里可以添加本文要记录的大概内容:
confing文件中存放的是登录方法和xlsx测试用例。

testcase中存放的是把所有相关联的代码组合起来,变成有序的代码。

test_login是一个单独的登录文件。避免重复的登录和无效的登录。只有当登录失败时 才会再次调用 登录文件。
test_case代码

import json
import sys
from common import operation_xls, request_method
from testcase import test_login
from pytest_assume.plugin import assume
def test_ases():
    # 读取excel数据
    get_shear = operation_xls.shear_xls(books="\config\case_room.xlsx", sheet1="sheet1", line=1,column=1, scope_line=8, scope_column=13)
    print("测试用例***", type(get_shear), get_shear)
    yam_cookies = request_method.yaml_get(model='r')
    print("yanml获取cookies**", type(yam_cookies), yam_cookies)
    yam_cookie = yam_cookies["you-token"]
    r_xls = []
    # post传数据
    for i in get_shear:
        join_header = json.loads(i[0])
        join_header.setdefault("cookie", "you-token=" + yam_cookie)
        post_request = request_method.request_post(url=i[1], data=i[2], headers=join_header)
        # 判断cookies过期,如果过期在重新获取
        if post_request.json()['code'] == 401:
            # 重新登录
            yam_cookies = test_login.test_et_login()
            #
            # yam_cookies = request_method.yaml_get(yam="confing_yaml.yaml", model='r')
            # 在跑用例
            yam_cookie = yam_cookies["you-token"]
            join_header = json.loads(i[0])
            join_header.setdefault("cookie", "you-token=" + yam_cookie)
            post_request = request_method.request_post(url=i[1], data=i[2], headers=join_header)
        print("读取post的返回值***", post_request.json())
        # 断言 code码和json返回值
        code_variable = post_request.json()
        code_Status = post_request.status_code
        try:
            assume(code_variable['code'] == 1)
            assume(code_Status == 200)
        except Exception as e:
            print(e)

        # 写入文件code码
        r_xls.append(post_request.json()['code'])
        print(type(r_xls), r_xls, '写入code返回值')

    operation_xls.write_xls(book='\config\case_room.xlsx', sheet='sheet1', row='L2', read_data=r_xls)

    # 读取xls数据进行断言,写入xls表
    get_shear_xls = operation_xls.get_xls(books='\config\case_room.xlsx', sheet1="sheet1", line=2,
                                          column=12)
    print('读取xls数据', get_shear_xls)

    # 预期结果和实际结果的判断写入xls,利用三元表达式+列表推导式
    xls_data = ['成功' if j[0] == j[1] else '失败' for j in get_shear_xls]
    operation_xls.write_xls(book='\config\case_room.xlsx', sheet='sheet1', row='N2', read_data=xls_data)

    """
    三元表达式+列表推导式的原型
    for j in get_shear_xls:
        if j[0] ==j[1]:
            xls_data.append('成功')
        else:
            xls_data.append('失败')"""

是登录的单独文件

from config import confing_login
from common import request_method


def test_et_login():
    """
    单独的登录测试用例
    :return:
    """

    #
    login_post = confing_login.login_ini()
    post_login = request_method.request_post(url=login_post[0], data=login_post[1], headers=login_post[2])
    request_method.yml_cookies( model='w', cooki=post_login.cookies)
    print("login存入cookies***", post_login.cookies)
    return post_login.cookies.get_dict()

总结:三元表达式和列表推导式用到的地方,应该挺多,有空可以去多了解一下。可以简写很多代码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值