2016-08-24 2 views
0

저는 최근 Acceptance 테스트를 만들기 위해 Codeception을 사용하는 형태로 직장에서 새로운 역할을 수행했습니다. 이것이 나를위한 학습 경험이기 때문에 Stack Overflow에 많은 질문을 던지고 있습니다. 도와 주셔서 감사합니다! 그러나 여기에 나의 가장 새로운 딜레마가있다. 우선, 나는 cept 테스트를 실행하고있다. 첫째는, 웹 사이트에 로그인 테스트의 무리를 실행 한 후 로그 아웃 :Codeception 수락 테스트에서 영구 로그인을 어떻게 해제합니까?

$I->am('user'); 
$I->amOnPage('/'); 
$I->wait('2'); 
$I->amOnPage('?realm=ab-cd'); 
$I->amGoingTo('Login to website'); 
$I->fillField('username', 'REMOVED'); 
$I->fillField('password', 'REMOVED'); 
$I->click('Sign In'); 
$I->expect('Signing In'); 
// Should be on dashboard 
$I->wait('5'); 
$I->see('Dashboard'); 
$I->see('Messages'); 
$I->see('Assignments'); 
$I->see('Reports'); 
$I->see('Help'); 
$I->click('Sign Out'); 
$I->expect('Signed Out'); 
$I->wait('5'); 
$I->makeScreenshot('Screenshot'); 
$I->seeCurrentUrlEquals('/'); 

화면은이 로그 아웃하지 않았던 같다 소요 촬영. 나는 로그 아웃 버튼을 클릭하고, id를 사용하여 (위와 같이) 로그 아웃 버튼을 선택했다. 여기서 문제는 여러 개의 테스트가 실행 중이며 로그 아웃하지 않으면 다음 테스트가 실패합니다. 사용자가 암호 테스트를 수행하도록 로그 아웃하도록하는 방법이 있습니까? 몇 년 전에이 기사에 대한 기사를 보았지만 이후 수정 된 것 같습니다. 나는 그 기사에서 모든 권고를 시도했다. 이견있는 사람?

로그인 아웃 제공 문제의 링크 :

<button id="log-out" class="red-btn">Sign Out</button> 

UPDATE : 라인을 추가 한 후 $ I-> seeCurrentUrlEquals ('/'); 오류가 발생합니다

[Facebook\WebDriver\Exception\UnexpectedAlertOpenException] Unexpected modal 
dialog (text: Fallback login. Enter password): Fallback login. Enter 
password 
+0

나는 테스트를 실행하기 위해 BrowserStack을 사용하고 있습니다. – KevinE

답변

0

왜 로그 아웃 후 /로 이동합니까?
로그 아웃하면 안됩니다. 자동으로 로그 아웃해야합니까?

테스트가 성공적으로 로그 아웃되었는지 확인하지 않습니다.
Expect 메서드는 단지 주석입니다.
see 또는 seeCurrentUrlEquals을 사용하여 로그 아웃 성공을 확인하십시오.

+0

로그 아웃 시도가 실패 할 때 초기 URL로 되돌리려 고 시도하는 데 $ I-> amOnPage ('/')를 사용했습니다. – KevinE

+0

질문에 HTML의 관련 부분을 추가하십시오. – Naktibalda