gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 04:10:37 25 4
gpt4 key购买 nike

我正在寻找推荐/最好的方法来使 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();
}
}
}

关于c# - 从 C# NUnit 在多个浏览器中依次运行 Selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5028926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com