質問

ビルドサーバーがリモートマシンでブラウザを開いて駆動するヌニットテストを実行する構成を望んでいます。これを達成するための最良の方法は何でしょうか?

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://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

他のヒント

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();
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top