2016-11-08 3 views
0

나는 Codeception으로 수락 테스트를받습니다. PhantomJS가 나의 Webdriver로 구성되었습니다. 내 페이지에는 target="_blank" 링크가 있습니다. 문제는 Codeption에 클릭하도록 지시 할 때 새로 열린 탭에 초점을 맞추지 않는다는 것입니다. 따라서 내 테스트는 실패합니다.Codeception + PhantomJS : 새 탭을 열고 그것을 전환하는 방법

코드 :

$I->click('My Link that opens new tab'); 

내가 시도하는 것 :

$I->switchToWindow('Title of my new window'); // doesn't work 
$I->see('Some text in my new tab'); // also doesn't work 

내 acceptance.suite.yml :

class_name: AcceptanceTester 
modules: 
    enabled: 
     - WebDriver 
     - \Helper\Acceptance 
    config: 
     WebDriver: 
      url: 'http://localhost' 
      browser: 'phantomjs' 
      port: 5555 
      window_size: '1024x768' 

누구 아이디어가 있습니까?

답변

3
나는 해결책을 발견

은, 경우에 거기에 다른 고통 개발자의 영혼이 :

$I->executeInSelenium(function (\Facebook\WebDriver\Remote\RemoteWebDriver $webdriver) { 
$handles = $webdriver->getWindowHandles(); 
$lastWindow = end($handles); 
$webdriver->switchTo()->window($lastWindow); 

});