リモートブラウザに対してセレン2テストを実行します
-
28-09-2019 - |
質問
ビルドサーバーがリモートマシンでブラウザを開いて駆動するヌニットテストを実行する構成を望んでいます。これを達成するための最良の方法は何でしょうか?
Java Proxyサーバーはテストとブラウザの間に座っていたため、Selenium 1で簡単に行うことができました。 Selenium 2では、テストはブラウザと直接通信します(少なくともIEおよびFirefoxで)。
これを行う良い方法はありますか?おそらくWCFサービスか何かがありますか?
解決
スタンドアロンセレンサーバー(電流はSelenium-Server-Standalone-2.0A6.jar)を取得する必要があります。 http://code.google.com/p/selenium/. 。その後、スタートはリモートマシンのコマンドラインを使用します(そこにJavaをインストールする必要があります):
java -jar selenium-server-standalone-2.0a6.jar
またあります .NETサーバーの実装, 、しかし、そのバージョンはJava oneの背後にあります
次に、を使用する必要があります RemoteWebDriver
:
IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),DesiredCapabilities.InternetExplorer());
そして、あなたがあなたの「ローカル」テストで行うようにドライバーを使用します
より詳しい情報:
http://code.google.com/p/selenium/wiki/remotewebdriver
http://code.google.com/p/selenium/wiki/remotewebdriverserver
他のヒント
C#これを行う例は、以下のリンクにリストされています。 Firefoxのドライバーファイルには、リモートマシンで実行する必要があるSelenium Server Jarが組み込まれています。ただし、クロムドライバーとインターネットエクスプローラードライバーの場所は、オプション-dwebdriver.ie.driverおよび-dwebdriver.chrome.driverを使用してサーバーに渡す必要があります。
詳細については、このリンクを参照してくださいC#でリモートWebDriverを使用して、さまざまなタイプのWebドライバーブラウザを呼び出す方法/実行する方法
基本コードを以下に示します
[Test]
public void Test_OpeningHomePageUsingIE()
{
// Step b - Initiating webdriver
IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"), DesiredCapabilities.InternetExplorer());
//Step c : Making driver to navigate
driver.Navigate().GoToUrl("http://docs.seleniumhq.org/");
//Step d
IWebElement myLink = driver.FindElement(By.LinkText("Download"));
myLink.Click();
//Step e
driver.Quit();
}