2013-07-18 6 views
5

多くの例では、webdriver-> setBrowserURL(url)とwebdriver-> url(url)の両方に呼び出しが行われています。なぜ私はもう一方の代わりに1つを使いたいのですか?そしてその後、URL()は、試験中に同じURLを使用して呼び出される -phpunit用のSelenium 2 WebドライバのsetBrowserUrl()とurl()の違いは何ですか?

<?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()は、一度設定で呼び出されることになる。このような一例では、両方の(phpunit manualから採取)を同様に使用して示していますケース自体?

他の例では、URLのパスだけで呼び出されたurl()を見たことがあります。ここで適切な使い方は何ですか?私はurl()の使用に関するほとんどのドキュメントを見つけることができません。

答えて

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が使用されます相対パスが与えられている場合はこの基底。

+0

ありがとうございます。ちょうど私がベースURL +絶対パスをurl()で使用すると、setBrowserUrl()で設定されたベースURLとパスがオーバーライドされます。 – Clandestine

+0

絶対パスでurl()を使用すると、基本パスは無視されます。後でurl()を相対パスで使用すると、setBrowserUrl()で設定した基本パスを使用して、参照するURLを決定します。 –

関連する問題