在Visual Studio中编写测试时,我会通过保存、构建然后在Nunit中运行测试(右键单击测试然后运行)来检查它是否正常工作。
测试成功了……接下来我继续……
现在我又编写了另一个测试并且像上面一样保存和测试也是可以成功的。但是,当将它们一起运行时,它们就不能正常工作了。
这是我的两个测试,当它们分别运行时可以工作,但是当它们一起运行时会失败:
using System;
using NUnit.Framework;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium;
namespace Fixtures.Users.Page1
{
[TestFixture]
public class AdminNavigateToPage1 : SeleniumTestBase
{
[Test]
public void AdminNavigateToPage1()
{
NavigateTo<LogonPage>().LogonAsCustomerAdministrator();
NavigateTo<Page1>();
var headerelement = Driver.FindElement(By.ClassName("header"));
Assert.That(headerelement.Text, Is.EqualTo("Page Title"));
Assert.That(Driver.Url, Is.EqualTo("http://localhost/Page Title"));
}
[Test]
public void AdminNavigateToPage1ViaMenu()
{
NavigateTo<LogonPage>().LogonAsCustomerAdministrator();
Driver.FindElement(By.Id("menuitem1")).Click();
Driver.FindElement(By.Id("submenuitem4")).Click();
var headerelement = Driver.FindElement(By.ClassName("header"));
Assert.That(headerelement.Text, Is.EqualTo("Page Title"));
Assert.That(Driver.Url, Is.EqualTo("http://localhost/Page Title"));
}
}
}
当第二个测试失败时,因为它们被一起运行时,
Nunit会呈现如下信息:
Sse.Bec.Web.Tests.Fixtures.ManageSitesAndUsers.ChangeOfPremises.AdminNavigateToChangeOfPremises.AdminNavigateToPageChangeOfPremisesViaMenu: OpenQA.Selenium.NoSuchElementException : 找不到元素
并且这一行被突出显示:
var headerelement = Driver.FindElement(By.ClassName("header"));
有人知道为什么我的代码一起运行时会失败,但是单独运行时却可以通过吗?
非常感谢任何回答!