针对远程浏览器执行 Selenium 2 测试

发布于 2024-09-26 22:10:48 字数 207 浏览 4 评论 0原文

我想要一个配置,让我的构建服务器运行 NUnit 测试,打开并驱动远程计算机上的浏览器。实现这一目标的最佳方法是什么?

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

有没有好的方法可以做到这一点?可能有 WCF 服务之类的吗?

I'd like to have a configuration where my build server runs a NUnit test that opens and drives a browser on a remote machine. What would be the best way to accomplish this?

It was easy to do in Selenium 1, because the java proxy server sat between your tests and the browser. In Selenium 2, your tests communicate directly with the browser (at least in IE and Firefox).

Is there a good way to do this? Possibly with a WCF service or something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

攀登最高峰 2024-10-03 22:10:48

您需要从 http 获取独立 Selenium 服务器(当前是 selenium-server-standalone-2.0a6.jar) ://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

You need to get the Standalone Selenium Server (current is selenium-server-standalone-2.0a6.jar) from http://code.google.com/p/selenium/. Then start is with the command line on the remote machine (you need Java installed there):

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

Also there's a .NET implementation of the server, but its version is behind the Java one

Then you should use the RemoteWebDriver:

IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"),DesiredCapabilities.InternetExplorer());

And then use the driver as you do in your "local" tests

More info:

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

撩动你心 2024-10-03 22:10:48

下面的链接列出了执行此操作的 C# 示例。 Firefox 的驱动程序文件内置有需要在远程计算机上运行的 selenium 服务器 jar。但是 chrome 驱动程序和 Internet Explorer 驱动程序位置需要在启动时使用选项 -Dwebdriver.ie.driver 和 -DWebdriver.chrome.driver 传递到服务器

有关更多详细信息,请参阅此链接
如何调用/运行C#中使用远程webdriver的不同类型的web driver浏览器

基本代码如下所示

        [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();
    }

C# example of doing this is listed in below link. The driver files for firefox comes inbuilt with selenium server jar thats required to be running on remote machine. But chrome driver and internet explorer driver location needs to be passed to server with options -Dwebdriver.ie.driver and -DWebdriver.chrome.driver on the start-up

For more details refer this link
How to invoke/run different type of web driver browser using remote webdriver in C#

The basic code is shown below

        [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();
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文