当前位置: 首页 > 面试题库 >

从C#NUnit在多个浏览器中依次运行Selenium测试

刘承悦
2023-03-14
问题内容

我正在寻找一种推荐/最有效的方式来使Selenium测试在多个浏览器中依次执行。我正在测试的网站并不大,所以我还不需要并行解决方案。

我有一个平时测试的建立方法[SetUp][TearDown]以及[Test]。当然,SetUp实例将ISelenium使用我要测试的任何浏览器实例化一个新对象。

因此,我想以编程方式说:该测试将依次在Chrome,IE和Firefox上运行。我怎么做?

编辑:

这可能会有所帮助。成功构建后,我们将使用CruiseControl.NET来启动NUnit测试。有什么方法可以将参数传递给NUnit可执行文件,然后在测试中使用该参数?这样,我们可以使NUnit在不同的浏览器参数下运行多次。


问题答案:

NUnit 2.5+现在支持通用测试治具,使在多个浏览器中的测试非常简单。
http://www.nunit.org/index.php?p=testFixture&r=2.5

运行以下示例将两次执行GoogleTest,一次是在Firefox中,一次是在IE中。

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.IE;
using System.Threading;

namespace SeleniumTests 
{
    [TestFixture(typeof(FirefoxDriver))]
    [TestFixture(typeof(InternetExplorerDriver))]
    public class TestWithMultipleBrowsers<TWebDriver> where TWebDriver : IWebDriver, new()
    {
        private IWebDriver driver;

        [SetUp]
        public void CreateDriver () {
            this.driver = new TWebDriver();
        }

        [Test]
        public void GoogleTest() {
            driver.Navigate().GoToUrl("http://www.google.com/");
            IWebElement query = driver.FindElement(By.Name("q"));
            query.SendKeys("Bread" + Keys.Enter);

            Thread.Sleep(2000);

            Assert.AreEqual("bread - Google Search", driver.Title);
            driver.Quit();
        }
    }
}


 类似资料:
  • 问题内容: 我有一种创建2个远程Web驱动程序的方法。一个带有chrome,另一个带有Firefox: Driver.cs 然后我有一个Test类: } 问题是当Driver.Intialize被调用时,它无法同时运行chrome和firefox。我要发生的是,调用Init方法时,它将启动两个浏览器并在每个浏览器中运行测试方法。 问题答案: 我目前使用NUnit的方式。我遇到了同样的问题,找不到使

  • 问题内容: 因此,我已经开始创建一些使用Selenium RC来直接在浏览器中测试我的Web应用程序的Ruby单元测试。我正在将Selenum- Client 用于红宝石。我已经为所有其他selenium测试创建了基类。 这将创建许多SeleniumDriver实例,并且在每个实例上调用所有缺少的方法。这实际上是并行运行测试。 别人如何做到这一点? 这是我的实现: 这可以工作,但是如果一个浏览器失

  • 问题内容: 我正在使用Selenium驱动程序使用WebinatorSpecFlow + NUnit开发ASP.NET MVC 3应用程序。我在使用Chrome(使用chromedriver)和Internet Explorer运行并行测试时遇到问题。 每当我通过Webinator在Selenium中通过同一个会话同时运行两个测试时,当我向页面发送任何点击动作时,IE似乎都会挂起。 我无法使用此处

  • 我正在探索硒网格,用于在多个浏览器上执行测试。我已经按照在线教程配置了集线器和节点。我已经创建了一个测试脚本。 这是测试脚本的代码: 我的目标是在多个浏览器上运行此测试,我已经添加了所需的功能,如火狐, 感谢任何帮助

  • 问题内容: 我正在将Selenium WebDriver与Java和TestNG框架一起使用。我想一次在一个代码中使用Firefox,IE,Chrome来进行跨浏览器测试。我只能将Firefox初始化为 但无法以相同方式初始化其他浏览器。例如: 给出错误 给出错误 如何初始化IE和Chrome并在所有所需的浏览器中执行测试? 问题答案: 对于C# 加 创建一个包含浏览器名称的配置文件。实现与配置文

  • 问题内容: 我是硒测试的新手。我想针对Internet Explorer,Firefox,Opera和Chrome在多种浏览器上运行。我必须遵循什么方法。大家能否建议我这是最好的过程。 硒Web驱动程序是否支持多种浏览器??? 我们已经编写了登录脚本。它可以分别在Firefox,Chrome和Internet Explorer中成功运行。但我想按顺序为那些多个浏览器运行它。 问题答案: 在此之前,