作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在寻找推荐/最好的方法来使 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/
我不知道如何描述这一点。我在一个页面上有几个 div,类似于: some lorem ipsum text here Macbeth s
我是一名优秀的程序员,十分优秀!