2009-05-29 13 views
2

J'ai effectué un simple test WatiN sur mon environnement de développement et j'essaie de le faire fonctionner sur le serveur de build TFS. Watin tire une exception:Problème de threading lors de l'exécution de tests WatiN sous VSTestHost

 
System.Threading.ThreadStateException: The CurrentThread needs to have it's 
ApartmentState set to ApartmentState.STA to be able to automate Internet Explorer. 

Le coureur de test, VSTestHost utilise soi-disant par défaut thread STA. J'ai également essayé de le forcer explicitement à STA via le fichier .testrunconfig. Still WatiN est malheureux. J'utilise Visual Studio/TFS 2008 sur Windows Server 2008.

Est-ce que quelqu'un d'autre a rencontré ce problème et trouvé une solution?

Répondre

0

Modifier le testrunconfig comme vous le suggérez devrait être la solution. Quelle syntaxe avez-vous essayé? pour autant que je me souvienne pour 2008, il est

<ExecutionThread apartmentState="1" /> 

et pour 2005, il est

<apartmentState type="System.Threading.ApartmentState"> 
    <value__ type="System.Int32">1</value__> 
</apartmentState> 
+0

j'ai utilisé, qui devrait être valide, mais redondant. Voir http://social.msdn.microsoft.com/Forums/en-US/vststest/thread/a7b31008-457a-49bb-baa0-815cec38a8ed –

+0

La syntaxe = "1" n'est pas valide en fonction de cet article de blog: http://blogs.msdn.com/irenak/archive/2008/02/22/sysk-365-how-to-get-your-unit-tests-test-project-in-visual-studio-2008-aka- mstest-run-multithreaded.aspx –

1

Vous pouvez consulter/utiliser [STAThread] attribut pour vos méthodes d'essai de Watin