Pourquoi mes tests échouent lors de l'exécuter ensemble, mais passer individuellement?

Quand j'écris un test dans Visual Studio, j'ai vérifier qu'il fonctionne par l'épargne, de la construction puis de l'exécution de l'essai dans Nunit (clic droit sur le test, puis exécuter).

Le test fonctionne yay...
j'ai donc passer à la suite...

Maintenant, j'ai écrit un autre test et cela fonctionne comme je l'ai sauvé et l'a testé, comme ci-dessus. Mais, elles ne fonctionnent pas lorsqu'ils sont exécutés ensemble.

Voici mes deux tests qui fonctionnent quand exécuter en tant qu'individus, mais ne parviennent pas quand courir ensemble:

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"));
        }
    }
}

Lors de la deuxième test échoue parce qu'ils ont été exécutés ensemble

Nunit présente:

Sse.Bec.Web.Tests.Fixtures.ManageSitesAndUsers.ChangeOfPremises.AdminNavigateToChangeOfPremises.AdminNavigateToPageChangeOfPremisesviamenu:
OpenQA.Le sélénium.NoSuchElementException : L'élément n'a pas pu être trouvé

Et cette ligne est mise en surbrillance:

var headerelement = Driver.FindElement(By.ClassName("header"));

Personne ne sait pourquoi mon code ne fonctionne pas lorsqu'il est exécuté ensemble, mais passe lorsque vous exécutez seul?

Toute réponse serait grandement apprécié!

  • Êtes-vous sûr que les tests ne sont pas l'état de partage? Le navigateur de fermer et ré-ouvrir entre les tests? Le test qui échoue lorsqu'ils sont exécutés ensemble? Faire les DEUX échouent, ou fait une passe, et un échec?
  • Le navigateur se ferme en bas de la fenêtre de commande.. ils rouvrir de nouveau, le processus de test suivant... c'est le premier test qui passent alors tous les tests suivants ne parviennent généralement pas et ils ont toujours échouer pour la même raison expliquée ci-dessus.
  • N'aide pas votre question, mais découvrez ncrunch.net, il exécute vos tests en arrière-plan. Se débarrasser de l'ensemble "de l'épargne, de la construction puis de l'exécution de l'essai" de tracas.
  • C'est ce qui m'arrive tout le temps (mais avec une autre erreur), bien que mine de frapper une base de données et l'exécution de chaque test dans une transaction.. je obtenir non thread-safe exceptions donc, lors de l'exécution par le biais de Visual Studio, le test suivant doit commencer avant que le test précédent a fini (en exécutant la ligne de commande ne semble pas avoir le même problème)