zoukankan      html  css  js  c++  java
  • fixture 调用函数名传参

    conftest.py
    @pytest.fixture(scope="class")
    def init_login():
    login_data = {"phone": tel, "country_code": 86, "password": "Pass123456", "device": "huawei",
    "push_token": "0869381037778028300002104600CN01"}
    login_res = HttpRequest.http_request("http://www.baidu.com/api/user/login/by_password", login_data,
    "post")
    print(login_res.json())
    token = login_res.json()['data']['token']
    print(token)
    headers = {'Hoo-Agent': "a/2.3.5/8.0.0/HUAWEI_ANE-AL00/wifi/baidu",
    "Content-type": "application/json",
    'Authorization': "Token " + token}
    print("headers", headers)
    yield (token) ## yield 后跟一个参数,或者不跟参数
    print("结束测试")




    # 测试类
    @pytest.mark.usefixtures("init_login")
    class TestOpenAPI():

    @pytest.mark.usefixtures("init_login")
    def test_freeze(self, init_login):
    print(init_login) # 返回的是token的值,如果此时用init_login[0],返回的是token字符串的第一个字符


    注意红色部分:
    1. 如果 yield 后跟一个参数,或者不跟参数,在测试类中 返回的是token的值,如果此时用init_login[0],返回的是token字符串的第一个字符
    2. 如果yield 后多个参数,测试测试类中,init_login 返回的是一个元组(或者列表,根据自己的设计),init_login[0],返回的是元组中的第一个元素。
  • 相关阅读:
    002-pythn基础-循环、编码
    001-python3 初识
    confluence6.x安装
    python+ffmpeg切割视频
    Elasticsearch6.x和Kibana6.x的安装
    django基础
    CDH的完全离线安装(ubuntu16)
    python之旅十【第十篇】paramiko模块
    解决 MariaDB无密码就可以登录的问题
    切割日志(mysql,nginx,php tomcat)使用logrotate
  • 原文地址:https://www.cnblogs.com/zzllovehappy/p/10839151.html
Copyright © 2011-2022 走看看