来自APP Android端自动化测试初学者的笔记,写的不对的地方大家多多指教哦。(所有内容均以微博V10.11.2版本作为例子)
在自动化测试用例执行过程中,经常出现执行相同的用例,但传入不同的参数,导致我们需要重复的写用例,这样会使我们的用例变得很长,冗余,很多地方需要编码。参数化可以通过修改传入的参数,从而让相同步骤的用例可以多次执行,对测试用例进行迭代调用。
参数化设置
一:使用装饰器实现参数化设置
参数化需要用到pytest的装饰器:@pytest.mark.parametrize()
方法:parametrize(argnames, argvalues, indirect=False, ids=None, scope=None)
上栗子,所有内容均已微博的账号密码登录作为例子
1.传入一个参数,一个参数对应一个数值
import pytest
class TestAccountLogin:
# 参数化:传入一个参数,一个参数对应一个值
@pytest.mark.parametrize("account", ["123123231321313"])
def test_one(self, account):
pwd = "asdfgh"
self.account_login_page.input_account_pwd(account, pwd)
print("\na的值:", account)
运行结果为:
2.传入两个参数,一个参数对应一个数值
import pytest
class TestAccountLogin:
# 参数化:传入两个参数,一个参数对应一个值
@pytest.mark.parametrize("account, pwd", [