В чем разница в setBrowserUrl() и url() в веб-драйвере Selenium 2 для phpunit?


Во многих примерах я видел вызовы как webdriver->setbrowserurl(url), так и webdriver->url(url). Почему я должен хотеть использовать одно вместо другого? Один из таких примеров показывает использование обоих одинаково (взято из руководства phpunit):

<?php
class WebTest extends PHPUnit_Extensions_Selenium2TestCase
{
    protected function setUp()
    {
        $this->setBrowser('firefox');
        $this->setBrowserUrl('http://www.example.com/');
    }

    public function testTitle()
    {
        $this->url('http://www.example.com/');
        $this->assertEquals('Example WWW Page', $this->title());
    }

}
?>

Почему setBrowserUrl() вызывается один раз в программе установки, а затем url() вызывается с идентичным URL-адресом в самом тестовом примере?

В других примерах я видел, как url() вызывался только с указанием пути для URL. Что такое правильное использование здесь? Я не могу найти почти никакой документации по использованию url().

Author: Clandestine, 2013-07-18

1 answers

Setbrowserurl() задает базовый URL-адрес, позволяющий использовать относительные пути в тестах.

Пример из руководства phpunit немного сбивает с толку - я считаю, что setBrowserUrl() используется во время установки просто потому, что он выдаст ошибку без него:

public function start()
{
    if ($this->browserUrl == NULL) {
        throw new PHPUnit_Framework_Exception(
          'setBrowserUrl() needs to be called before start().'
        );
    }

$this->url будет использовать эту базу, если указан относительный путь.

 5
Author: Jade McGough, 2013-11-19 05:28:24