簡體   English   中英

如何在phpunit中使用兩個硒瀏覽器

[英]How to use two browsers in selenium with phpunit

我需要同時使用兩個瀏覽器窗口進行測試。 我正在將phpunit與硒一起使用。

例:

  1. 打開browser1並導航到一些URL
  2. 復制一些dinamyc內容
  3. 打開瀏覽器2,導航到其他URL,用步驟2的內容填寫表單並提交表單。

我無法從browser1導航到步驟3中的URL,因為那樣將無法正常工作。

現在,我無法打開browser2,我所做的每一次嘗試都將使用browser1。

有任何想法嗎? 謝謝。

我已經做到了 基本上,您需要第二個驅動程序對象,並在該對象上使用open()。 因此,現在您有兩個驅動程序對象-一個用於瀏覽器1,一個用於瀏覽器2。您將必須記住哪個驅動程序對象。 因為如果要在瀏覽器2中觸發操作,則需要在第二個驅動程序對象上調用所需的函數,而不是默認值。

這不是很直觀,因為大多數Selenium API幾乎都是開箱即用的,無需真正詢問即可為您提供單例驅動程序對象。

謝謝基思·泰勒。 我玩了一點代碼,終於可以做到了。

我將代碼放在這里,因為它可能對某人有用。

首先是創建一個擴展PHPUnit_Extensions_Selenium2TestCase的類:

class Browser extends PHPUnit_Extensions_Selenium2TestCase
{   
    public function __construct(){
        parent::__construct();
        $this->setHost("127.0.0.1");
        $this->setPort(4444);
        $this->setBrowser("firefox");
        $this->setBrowserUrl("url");
        $this->prepareSession(); // this does the trick
    }   
}

然后,您可以像這樣使用它:

$this->url("url1"); // $this will be the default browser
$browser2 = new Browser(); // $browser2 is the new browser and has all the functions from phpunit and selenium available
$browser2->url("url2");

希望可以節省時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM