我正在使用Pytest& amp;硒。 我创建了一个为帐户创建生成虚假帐户数据的功能。 以下是页面(目录页)
def fake_account(self, fname, lname, userid, pwd, cpwd):
self._type(self._fname, fname)
self._type(self._last_name, lname)
self._type(self._user_id, userid)
self._type(self._password, pwd)
self._type(self._password_confirm, cpwd)
上面的_type方法被定义到我的基页中,如下所示:
def _type(self, locator, input_text):
self._find(locator).send_keys(input_text)
我将方法fake_account调用到多个测试中,调用另一个页面,如下所示:
class TestFakeAccounts():
@pytest.fixture()
def catalogpage(self, driver):
return catalogpage.CatalogPage(driver)
def test_account1(self, catalogpage):
catalogpage.fake_account(fake.name(), "Auth", fake.user_name(), "PassWord_123", "PassWord_123")
....
def test_account2(self, catalogpage):
catalogpage.fake_account(fake.name(), "Auth", fake.user_name(), "PassWord_123", "PassWord_123")
....
当我运行测试时(在tests文件夹中使用pytest),它将收集我的所有测试,但是对整个会话使用相同的生成假数据(对于我的所有测试)。 有没有办法设置这个或pytest fixture,以便在同一个会话期间为每个测试生成新的假数据?
稍后更新(如果有人需要这个):我能够通过添加" fake.random.seed()"来实现我想要的效果。进入每个测试(不确定它是否是最佳方式,但它适用于我)
答案 0 :(得分:1)
通过添加" fake.random.seed()"我能够达到我想要的效果。进入每个测试(不确定它是否是最佳方式,但它适用于我)