我的办公室大约有300个网页需要经常进行测试。我正在使用Visual Studio 2010中的Nunit、Selenium和C#进行工作。我以这个框架为基础,而且我已经有了一些可行的测试。
我遇到的问题是当我运行整个测试套件时,每次运行都会有一个或多个随机的测试失败。如果单独运行它们,它们将全部通过。我猜测Nunit试图同时运行所有7个测试,而浏览器显然无法支持这种方式。从可视化的角度观察浏览器,似乎确实是这种情况。
从下面的截图可以看出,我需要找到一种方式,使得Index_Tests下的测试按顺序而非并行运行。
错误信息:
Selenium2.OfficeClass.Tests.Index_Tests.index_4:
OpenQA.Selenium.NoSuchElementException : Unable to locate element: "method":"id","selector":"textSelectorName"}
Selenium2.OfficeClass.Tests.Index_Tests.index_7:
OpenQA.Selenium.NoSuchElementException : Unable to locate element: "method":"id","selector":"textSelectorName"}
一个测试案例的示例:
using OpenQA.Selenium;
using NUnit.Framework;
namespace Selenium2.OfficeClass.Tests
{
[TestFixture]
public class Index_Tests : TestBase
{
public IWebDriver driver;
[TestFixtureSetUp]
public void TestFixtureSetUp()
{
driver = StartBrowser();
}
[TestFixtureTearDown]
public void TestFixtureTearDown()
{
driver.Quit();
}
[Test]
public void index_1()
{
OfficeClass index = new OfficeClass(driver);
index.Navigate("http://url_goeshere");
index.SendKeyID("txtFiscalYear", "input");
index.SendKeyID("txtIndex", "");
index.SendKeyID("txtActivity", "input");
index.ClickID("btnDisplay");
}
}
}