zoukankan      html  css  js  c++  java
  • 6.pytest参数化操作

    前面文章有写道通过fixture中params参数完成参数化,但是该方式会应用到所有测试用例,如果只想在单个测试用例上使用,则需要用到@pytest.mark.parametrize这个装饰器完成

    我们想要实现对一个登陆程序的参数化操作。代码如下:

    # 登录程序源码
    login_info = {'zhangsan':'123456','lisi':'000000'}
    def login(username,password):
        if username in login_info:
            if password == login_info[username]:
                return '登录成功'
            else:
                return '密码输入错误'
        else:
            return '用户名输入错误'
    # 测试代码
    # @pytest.mark.parametrize该装饰器所接收参数是通过列表的方式接收,每一组参数为一个元组,如果数据较多的情况下,可以将数据放到文件中读取
    @pytest.mark.parametrize("username,password,expect", [ ('zhangsan','123456','登录成功'), ('zhangsi', '123456', '用户名输入错误'), ('zhangsan', '000000', '密码输入错误'), ]) def test_login(username,password,expect): assert login(username,password) == expect

     如果想要参数的自由组合,则可以通过多个参数化装饰器完成

    # 程序源码
    def login(username,password):
        print('用户名为:%s	密码为:%s'%(username,password))
        
    # 测试代码
    @pytest.mark.parametrize("username",['zhangsan','lisi','wangwu'])
    @pytest.mark.parametrize("password",['123456','000000','abcdef'])
    def testlogin(username,password):
        login(username,password)

  • 相关阅读:
    html的基本框架和常用标签
    防火墙
    Zenmap
    每日一招:熟练掌握变盘方向
    每日一招:赚钱最快的选股策略
    操盘策略:黄金做单时间
    每日一招:坚守六大方式选出优质股
    如何保卫你的牛市胜利果实?
    名家看后市:长阴破位不必慌
    每日一招:补仓需遵守的技巧
  • 原文地址:https://www.cnblogs.com/XhyTechnologyShare/p/12263747.html
Copyright © 2011-2022 走看看