Почему мои тесты терпят неудачу, когда запускаются вместе, но проходят индивидуально?

Когда я пишу тест в 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"));

Кто-нибудь знает, почему мой код не работает, когда выполняется вместе, но проходит, когда выполняется один?

Мы будем благодарны за любой ответ!

18
задан JohnOsborne 10 July 2018 в 13:50
поделиться