2017-10-13 37 views
0

Je suis novice dans l'utilisation de Nunit Framework. J'ai donc essayé de rechercher comment procéder.Lancez des tests dans plusieurs environnements et navigateurs avec Nunit FrameWork

Fondamentalement, j'ai 3 environnements: Dev, Test, Prod Chaque environnement a une autre URL telle que:

  • Dev: www.dev.com
  • Test: www.test.com
  • Prod: www.prod.com

Je veux exécuter les cas de test contre les trois environnements, ainsi que de les exécuter à travers une boucle de navigateur pour Chrome, FireFox, IE et Edge.

J'ai le code actuel aménagé comme celui-ci pour exécuter tous les tests à travers chaque navigateur: (?)

[TestFixture(typeof(ChromeDriver))] 
[TestFixture(typeof(InternetExplorerDriver))] 
[TestFixture(typeof(FirefoxDriver))] 
[TestFixture(typeof(EdgeDriver))] 

class IntegrationTests 
{ 
    Test.RunAll(); 
} 

[TestFixture(typeof(ChromeDriver))] 
[TestFixture(typeof(InternetExplorerDriver))] 
[TestFixture(typeof(FirefoxDriver))] 
[TestFixture(typeof(EdgeDriver))] 

class SmokeTests 
{ 
    Test.RunAll(); 
} 

De ma compréhension, vous pouvez être en mesure de surcharger encore les TestFixtures mais je ne peux pas sembler trouver quelque chose sur la syntaxe de cela. Je n'arrive pas non plus à trouver une instance où quelqu'un utilise plusieurs URL et boucles de navigateur. Toute aide est grandement appréciée!

Répondre

0

Trois URL différentes multipliées par quatre navigateurs permettent de créer douze instances différentes. Vous pouvez le faire en spécifiant TestFixtureAttribute douze fois au lieu de quatre, avec des entrées comme ...

C# [TestFixture(typeof(ChromDriver), "www.dev.com")]

Cependant, plus probablement, vous voulez un essai donné de se concentrer soit sur le dev, test ou prod environnement.

Dans ce cas, transmettez l'URL en tant que paramètre à l'exécution. Dans le coureur de la console, vous le feriez avec une option comme --params:siteurl=www.dev.com. Votre test accèdera à la valeur en utilisant TestContext.Parameters.