5

在许多示例中,我看到了对 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() 的文档。

4

1 回答 1

5

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 将使用这个基础。

于 2013-07-20T11:32:41.007 回答