5

ビルド サーバーが、リモート マシンでブラウザーを開いて駆動する NUnit テストを実行する構成が必要です。これを達成するための最良の方法は何ですか?

Selenium 1 では簡単に実行できました。Java プロキシ サーバーがテストとブラウザーの間に位置していたからです。Selenium 2 では、テストはブラウザーと直接通信します (少なくとも IE と Firefox では)。

これを行う良い方法はありますか?おそらくWCFサービスか何かで?

4

2 に答える 2

6

スタンドアロン Selenium サーバー (現在は selenium-server-standalone-2.0a6.jar) をhttp://code.google.com/p/selenium/から取得する必要があります。次に、リモート マシンのコマンド ラインから始めます (そこに Java がインストールされている必要があります)。

java -jar selenium-server-standalone-2.0a6.jar

サーバーの.NET 実装もありますが、そのバージョンは Java のものよりも遅れています

次に、次を使用する必要があります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://www.google.com/codesearch/p?hl=en#CJyJMZi8hYc/trunk/remote/client/src/csharp/webdriver-remote/RemoteWebDriver.cs

http://code.google.com/p/selenium/wiki/RemoteWebDriverServer

于 2010-10-14T13:14:48.643 に答える
2

これを行う C# の例は、以下のリンクにリストされています。Firefox 用のドライバー ファイルには、リモート マシンで実行するために必要な Selenium サーバー jar が組み込まれています。ただし、起動時にオプション -Dwebdriver.ie.driver および -DWebdriver.chrome.driver を使用して、chrome ドライバーと Internet Explorer ドライバーの場所をサーバーに渡す必要があります。

詳細については、このリンクを参照してください 。 C# でリモート Web ドライバーを使用して、異なるタイプの 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();
    }
于 2013-10-09T20:07:56.683 に答える