pytest_参数化3

老子叫甜甜 提交于 2019-11-30 06:07:34
import pytesttest_user_data=[    {'user':'linda','password':'8888'},    {'user':'servenruby','password':'123456'},    {'user':'test01','password':''}]@pytest.fixture(scope='module')def login_r(request):    #可以通过dict形式,虽然传递一个参数,但通过key的方式可以达到累死传入多个参数的效果    user=request.param['user']    pwd=request.param['password']    print('\n打开首页准备登陆,登陆用户%s,密码%s'%(user,pwd))    if pwd:        return True    else:        return False#这是pytest参数化驱动,indeirect=True是把login_r当作函数去执行@pytest.mark.parametrize('login_r',test_user_data,indirect=True)def test_cart(login_r):    #登陆用例    a=login_r    print('测试用例中login_r的返回值%s'%a)    assert a,'失败原因,密码为空'

开首页准备登陆,登陆用户linda,密码8888
PASSED [ 33%]测试用例中login_r的返回值True

打开首页准备登陆,登陆用户servenruby,密码123456
PASSED [ 66%]测试用例中login_r的返回值True

打开首页准备登陆,登陆用户test01,密码
FAILED [100%]测试用例中login_r的返回值False


打开首页准备登陆,登陆用户linda,密码8888
PASSED [ 33%]测试用例中login_r的返回值True

打开首页准备登陆,登陆用户servenruby,密码123456
PASSED [ 66%]测试用例中login_r的返回值True

打开首页准备登陆,登陆用户test01,密码
FAILED [100%]测试用例中login_r的返回值False

test_mark_param_request2.py:19 (test_cart[login_r2])
login_r = False

@pytest.mark.parametrize('login_r',test_user_data,indirect=True)
def test_cart(login_r):
#登陆用例
a=login_r
print('测试用例中login_r的返回值%s'%a)
> assert a,'失败原因,密码为空'
E AssertionError: 失败原因,密码为空
E assert False

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!