2010-12-16 158 views
5

J'ai une solution avec une application Web et un projet de test. L'application de test a codé des tests ui de l'application Web. Comment puis-je faire démarrer l'application Web lorsque les tests sont exécutés?Démarrage d'une application Web avec des tests d'interface utilisateur codés dans VS 2010

J'ai essayé

  • ajouter une méthode de TestSetup pour démarrer le serveur Web via System.Diagnostics.Process. Je n'aime pas cela parce que cela semble maladroit et les tests ui codés ne se prêtent pas bien à l'héritage
  • en ajoutant un script de configuration dans les testsets pour démarrer le serveur web (même ligne de commande) via un fichier batch. Cependant, le fichier de commandes ne se ferme jamais et expire éventuellement. J'ai essayé de démarrer le serveur Web via la commande start, mais cela n'a pas fonctionné. Cela fonctionne très bien lorsque vous l'exécutez à partir de la ligne de commande, mais pas à partir du script de configuration de testset.

J'ai pensé à simplement lancer IIS en arrière-plan et le pointer vers un dossier spécifique. Puis déployez l'application Web dans ce dossier. Et laissez le test tester le projet contre IIS.

Cela semble beaucoup de travail cependant. Il doit y avoir un moyen plus facile. Je veux le faire sur plusieurs machines de développement et aussi sur la machine de construction TFS via une intégration programmée ou continue.

Des pensées?

Merci

+0

Il serait également intéressant de savoir comment obtenir l'URL à partir du code de test. – Sam

Répondre

0

configurer le projet web (dans les propriétés du projet) être hébergé sur IIS. C'est juste à 3 ou 4 clics. Il vous invitera à créer une application virtuelle. Après cela, créez et exécutez votre projet et il sera hébergé de façon permanente sur IIS. Vous pouvez donc démarrer les tests d'interface utilisateur codée sans démarrer manuellement le serveur Web.

0

Vous pouvez faire ce que Gerardo Grignoli a suggéré et héberger le site dans IIS pour qu'il soit toujours actif.

Vous pouvez également démarrer le projet Web (sans déboguer si vous souhaitez déboguer vos tests), puis exécuter/déboguer les tests. Dans vos tests, utilisez simplement BrowserWindow.Launch ("localhost: appPort/whateverPageToStartOn"); Remplissez simplement le port au lieu de appPort en fonction de vos paramètres express IIS.

En ce qui concerne l'exécution sur la machine de construction TFS, cela semble probablement une chose douteuse à faire. Vous pouvez tester le site déployé (dev, test, prod, etc.) à partir d'un laboratoire de test. Microsoft Test Manager (MTM) est l'un des produits pouvant le faire.