我想拥有一种配置,我的构建服务器运行了一个Nunit测试,该测试在远程计算机上打开并驱动浏览器。做这件事的最佳方法是什么?

在Selenium 1中很容易做到,因为Java代理服务器坐在您的测试和浏览器之间。在Selenium 2中,您的测试直接与浏览器(至少在IE和Firefox中)进行通信。

有一个好方法吗?可能有WCF服务或其他东西?

有帮助吗?

解决方案

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/src/csharp/webdriver-remote/remotewebriver.cs

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

其他提示

C#这样做的示例在下面的链接中列出。 Firefox的驱动程序文件与远程计算机上运行所需的Selenium Server Jar内置。但是Chrome驱动程序和Internet Explorer驱动程序的位置需要通过选项传递给服务器。

有关更多详细信息,请参考此链接如何使用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