我正在使用pytest进行自动化测试,我正在寻找一种从配置文件读取特定于测试的params的方法,并将其添加到相应的测试中。
例如,我希望我的config.ini文件看起来像这样:
[Driver]
#some genral variables
[Test_exmpl1]
#variables that I would like to use in Test_exmpl1
username= exmp@gmail.com
password= 123456
[Test_exmpl2]
#variables that I would like to use in Test_exmpl2
username= exmp2@gmail.com
password= 123456789
现在在代码中我希望能够在正确的测试中使用这些参数:
class Test_exmpl1(AppiumTestCase):
def test_on_board(self):
self.view = Base_LoginPageObject()
# view = BaseLoginPageObject
self.view = self.view.login(config.username, config.password)
#config.username =exmp@gmail.com
#config.password = 123456
class Test_exmpl2(AppiumTestCase):
def test_on_board(self):
self.view = Base_LoginPageObject()
# view = BaseLoginPageObject
self.view = self.view.login(config.username, config.password)
#config.username =exmp2@gmail.com
#config.password = 123456789
有没有人知道我应该怎么做呢?
答案 0 :(得分:0)
@pytest.fixture()
def before(request):
print("request.cls name is :-- ",request.cls.__name__)
if request.cls.__name__ == 'Test_exmpl1':
return["username","password"]
elif request.cls.__name__ == 'Test_exmpl2':
return["username2","password2"]
import pytest
class Test_exmpl1():
def test_on_board(self,before):
print("IN CLASS 1")
print("username :-- %s and password is %s"%(before[0],before[1]))
class Test_exmpl2():
def test_on_board(self,before):
print("IN CLASS 2")
print("username :-- %s and password is %s"%(before[0],before[1]))
您可以像上面一样创建文件conftest.py,并且可以在pytest的测试文件中使用这些值。