2013-07-25 3 views
0

J'ai un projet de test d'unité C# .NET qui utilise ChromeDriver pour exécuter des tests d'interface utilisateur automatisés sur une page Web. C'est sur Windows 7 64 bits. Les tests s'exécutent correctement à partir de Visual Studio 2010.Selenium WebDriver + ChromeDriver + Jenkins + MSTest

J'ai mis en place une boîte Jenkins pour exécuter les tests localement (sur le serveur maître), qui est un serveur Windows 2008. Les tests construire, mais ma commande MSTest échoue mystérieusement:

"c: \ program files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ MSTest.exe"/resultsfile: c: \ jenkins \ emplois \ FXO_UI_Tests \ workspace \ TestResults.TRX /testcontainer:c:\jenkins\jobs\FXO_UI_Tests\workspace\bin\Debug\Calculators.FXOptions2.Automation2.dll /testsettings: c: \ jenkins \ jobs \ FXO_UI_Tests \ workspace \ FXO .testsettings

Avec cette sortie:

Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Loading c:\jenkins\jobs\FXO_UI_Tests\workspace\FXO.testsettings... 
Loading c:\jenkins\jobs\FXO_UI_Tests\workspace\bin\Debug\Calculators.FXOptions2.Automation2.dll... 
c:\jenkins\jobs\FXO_UI_Tests\workspace\bin\Debug\Calculators.FXOptions2.Automation2.dll 
The file exists. 

c:\jenkins\jobs\FXO_UI_Tests\workspace>exit 1 
Build step 'Execute Windows batch command' marked build as failure 

La partie irritante est que la même commande MSTest, collée dans une fenêtre de commande, fonctionne parfaitement bien. Je ne vois pas "Le fichier existe" quand je cours manuellement.

J'ai essayé d'exécuter Jenkins en tant que service, mais il fonctionne actuellement en mode autonome dans un compte d'utilisateur connecté. La même configuration Jenkins peut ouvrir Chrome.exe, donc je ne peux pas comprendre pourquoi la commande se termine juste.

Aidez s'il vous plaît!

Répondre

1

Trouvé! "Le fichier existe." était la clé. Il s'avère que le dossier TEMP que le Jenkins utilise est en quelque sorte différent de l'utilisateur connecté (en dépit d'être le même utilisateur). Et ce dossier était absolument plein de tous les noms de fichiers possibles. Effacer le dossier temporaire l'a corrigé.