2014-02-20 6 views
7

Сценарий: Открыв www.google.com, введите несколько ключевых слов и нажмите кнопку поиска. теперь я добираюсь до страницы результатов. Я хочу получить текущий URL-адрес этой страницы результатов, включая параметры запроса.PHPUnit и WebDriver - Как получить текущий URL?

Я нашел способ getBrowserUrl() здесь phpunit-selenium on github. Строка 410

Но этот метод возвратил значение, которое я установил в функции setUp.

public function setUp(){ 
$this->setBrowser(testConfig::$browserName); 
$this->setBrowserUrl('http://www.google.com/'); 
} 

public function testGoogleSearch(){ 
$this->url(''); 
//input some keywords 
....... 
//click search button 
....... 
//want to get the url of result page 
$resultUrl= $this->getBrowserUrl(); 
echo $resultUrl; 
} 

Я получил строку «http://www.google.com/» вместо весь URL в странице результатов. Пожалуйста, помогите мне, спасибо!

+0

Похоже, вы можете вызвать 'getLocation()' в драйвере, [как видно из источника] (https://github.com/sebastianbergmann/phpunit-selenium/blob/master/PHPUnit/Extensions/SeleniumTestCase.php#L1115) , – rutter

+1

@rutter Это метод RC селена. Я не могу использовать его для Selenium2 Webdriver. Тем не менее, я попробовал, есть ошибка «BadMethodCallException: команда getLocation» не существует или еще не поддерживается ». – CobraBJ

ответ

1

Вы также можете использовать

$url=$this->getLocation();

0

Если вы используете старый эр версия PHPUnit Селен это может быть полезно:

$url = $this->getEval('window.location.href;'); 
$this->assertEquals('EXPECTEDURL', $url); 
0

Это то, что работает для меня

$urlAry = $driver->executeScript('return window.location',array()); 
$currentURL = $urlAry['href']; 
Смежные вопросы