zoukankan      html  css  js  c++  java
  • pytest跟我练06-->fixtrue基础之params参数实现简单参数化

    前言

          我的努力求学没有得到别的好处,只不过是愈来愈发觉自己的无知。——笛卡儿
          如果大家越来越在一个领域思考的话,应该会有如上的认知。
    

    一、params参数是什么?

    • params参数是fixture方法中的其中一个参数;(ps:为了防止有些朋友单独看这篇博文才写了这句)
    • params参数接受列表类型的数据 实现参数化功能。

    二、关于参数化的理解

    • 相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为进行了完全的分离,这样的测试脚本设计模式叫做数据驱动;
    • 参数化就是数据驱动实现的一种表现;
    • 比如登录功能模块,使用3组不同的用户名和密码进行登录来验证登录功能模块的正确性,可以把这组不同的用户名和密码理解为参数化的数据;
    • 为什么要使用不同的数据来对相同模块功能进行验证,因为这样测试会更充分一些,也可以检查程序是否处理了各种异常情况(如错误的用户名、错误的密码等)。

    三、params参数应用

    • 3.1 简单应用params参数
    import pytest
    
    user_list = ['xiaoming','xiaohong','xiaoli']
    @pytest.fixture(params=user_list)   #params参数接收列表类型数据
    def setUp(request):                 #传参默认request参数
        return request.param
    
    def testadd(setUp):
        print('
    用户名:' + str(setUp))
        assert 1
    
    if __name__=='__main__':
        pytest.main(["-s"])
    
    • 3.2 思维发散一点,一组参数包含多个值
    import pytest
    
    #使用包含字典的列表传值,解决一组参数只有一个的问题
    user_list = [{'username':'xiaoming','password':'666666'},
                 {'username':'xiaohong','password':'888888'},
                 {'username':'xiaoli','password':'123456'}
                 ]
    @pytest.fixture(params=user_list)   
    def setUp(request):                 
        return request.param
    
    def testadd(setUp):
        print('
    用户名:' + str(setUp['username']),end=' ')   #setUp['username']取用户名
        print('密码:' + str(setUp['password']))               #setUp['password']取密码
        assert 1
    
    if __name__=='__main__':
        pytest.main(["-s"])
    
    

    上述两个实例小结:

    • params参数只要求是列表类型的数据;
    • 传参默认request参数不能更改其它名字;
    • 有了示例2,大家其实可以想到把测试的期望结果也做成参数化的形式
  • 相关阅读:
    VC++ 在Watch窗口显示GetLastError值以及详细信息
    VC++ Debug内存值
    VC++ 给你的代码强制加一个硬断点
    wchat_t与char互转
    使用forever运行nodejs应用
    C++ 检查Windows服务运行状态
    【转】Android横竖屏重力自适应
    可配置多功能门 SN74LVC1G57, 1G58, 1G97, 1G98, 1G99
    VPW协议解析
    STM32的TAMPER-RTC管脚作为Tamper使用
  • 原文地址:https://www.cnblogs.com/dream66/p/12515475.html
Copyright © 2011-2022 走看看