2017-12-11 16 views
1

나는 Pytest & Selenium을 사용하여 몇 가지 테스트를 개발 중이다. 계정 생성을위한 가짜 계정 데이터를 생성하는 함수를 만들었습니다. 다음은 페이지에있다 (catalogpage는)Pytest & Faker | 각 테스트에서 같은 데이터 사용하기

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") 
     .... 

나는 그것이 내 모든 테스트를 수집하지만, EN에 대해 동일한 생성 가짜 데이터를 사용 (테스트 폴더에 pytest 사용) 테스트를 실행하면 타이어 세션 (내 모든 테스트). 동일한 세션 동안 각 테스트에 대해 새로운 위조 데이터를 생성 할 수 있도록이 테스트 테이블을 설정하는 방법이 있습니까?


최신 업데이트 (사람이 필요한 경우) : 나는, 각 테스트 (그것이 최선의 방법입니다 있는지 확실하지 않습니다에 "fake.random.seed()"를 추가하여 내가 원하는 것을 달성 할 수 있었다 그러나 그것을) 나를 위해 작동

+0

작동 @ Mangohero1, 답장을 보내 주셔서 감사합니다. 내 게시물을 세부 정보로 업데이트했습니다. – Jhonattan

답변

1

나는 각 테스트 (그것이 최선의 방법입니다 있는지 확실하지 않습니다에 "fake.random.seed()"를 추가하여 내가 원하는 것을 달성 할 수 있었다, 그러나이) 나를 위해