2010-12-15 90 views
0

J'exécute des tests qui doivent ouvrir une nouvelle instance d'IE à chaque fois pour un nouveau test. Mon premier test passe et ferme l'IE à la fin, puis mon prochain test doit ouvrir un nouveau IE mais il échouer à ce moment-là et de me donner l'erreur suivanteL'obtention de la méthode SetUp a échoué. System.Runtime.InteropServices.COMException

SetUp method failed. System.Runtime.InteropServices.COMException : Creating an instance of the COM component with CLSID {0002DF01-0000-0000-C000-000000000046} from the IClassFactory failed due to the following error: 800704a6. 
at WatiN.Core.IE.CreateNewIEAndGoToUri(Uri uri, LogonDialogHandler logonDialogHandler, Boolean createInNewProcess) 

à WatiN.Core.IE..ctor()

Je suis actuellement les cours en utilisant TeamCity V5.1.4, nunit 2.5.5, watin 2.0 sur un ordinateur windows 7 machine NET Framework 3.5

Voici le code où son défaut.

<TestFixtureSetUp()> _ 
Public Sub Setup() 
    System.Threading.Thread.Sleep(100) 
    _internetExplorer = New IE() 
    LoginUser() 
    CheckForDataBase() 
End Sub 

<TestFixtureTearDown()> _ 
Public Sub TearDown() 
    Logout() 
    _internetExplorer.Close() 
End Sub 

Toute idée de ce que pourrait être la raison de cette

+0

Après l'erreur googling 800704a6, il semble que ce soit une erreur javascript. Pensez-vous que vous pouvez déboguer votre code pour pouvoir voir la console javascript la deuxième fois qu'il ouvre le navigateur? Aussi, avez-vous ce comportement uniquement dans teamcity ou pouvez-vous le reproduire en exécutant manuellement nuni-console? –

+0

Oui, cette erreur se produit uniquement lorsque j'exécute des tests via teamcity. Fonctionne correctement lors de l'exécution de nunit localement ou via cc.net. – atif

Répondre

1

800704a6 = erreur ERROR_SHUTDOWN_IS_SCHEDULED de win32. Un redémarrage est-il en cours?

+0

Cela a été un problème pour moi sur un serveur, a arrêté un processus de spawning, a dû redémarrer. Je recevais "Impossible de créer l'instance" et le code d'erreur 800704a6. –

0

Je suggère que vous jetez un oeil à ce Q&A session. Il y a beaucoup d'informations concernant votre problème. Cela peut être lié au fait que des mises à jour sont planifiées sur votre serveur.

+0

Nous venons de découvrir que teamcity n'exécute plus la méthode testfixture. J'ai une méthode textfixture qui au début appelle une méthode d'installation et à la fin appelle une méthode de démontage que je mets quelques choses avant et après les tests. Il semble au premier abord que son appelé fonctionne bien mais quand il est appelé à nouveau dans un autre fichier contenant d'autres tests, il échoue et donne l'erreur mentionnée ci-dessus. J'ai essayé de copier tous les tests dans un fichier et cela fonctionne très bien. J'ai vu ce comportement uniquement lors de l'exécution de teamcity. Avec cc.net et localement tout fonctionne bien. des idées – atif

+0

Votre teamcity fonctionne-t-il comme un service? ou en tant que console? Si c'est en tant que service, vous devez l'exécuter en mode utilisateur réel (qui appartient au groupe Administrateur), pas en tant que système local. –

+0

Mon service teamcity s'exécute à partir de la console. – atif