2010-12-13 87 views
1

Je reçois l'erreur suivante dans:Réglage état de l'appartement pour l'utilisation Watin avec MSTest

Le CurrentThread doit avoir son ApartmentState réglé sur ApartmentState.STA pour être en mesure d'automatiser Internet Explorer.

Avec le code suivant:

[TestClass] 
    public class UnitTest1 
    { 

    [AssemblyInitialize] 
    public static void AssemblySetup(TestContext context) 
    { 

    } 

    [TestMethod] 
    [HostType("ASP.NET")] 
    [AspNetDevelopmentServerHost("C:\\SomePath", "/")] 
    [UrlToTest("http://localhost/HomeView.aspx")] 
    public void TestMethod1() 
    { 
     using(IE ie = new IE("http://localhost/HomeView.aspx",true)) 
     { 
      ie.TextField(Find.ById("MainContent_txtDLNumber")).TypeText("a235801945550"); 
     } 
    } 
} 

Y at-il une approche différente pour l'utilisation Watin avec MSTEST?

Répondre

0

Vous aurez probablement besoin d'ajuster votre configuration en conséquence, ci-dessous devrait vous donner un indice

<configuration> 
    <configSections> 
    <sectionGroup name="NUnit"> 
     <section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/> 
    </sectionGroup> 
    </configSections> 

    <NUnit> 
    <TestRunner> 
     <!-- Valid values are STA,MTA. Others ignored. --> 
     <add key="ApartmentState" value="STA" /> 
    </TestRunner> 
    </NUnit> 


</configuration> 
+0

Cela est correct. En fait, j'utilisais le testeur de resharpeur qui nécessitait les mêmes paramètres de configuration que le testeur Nunit. – jparram

+1

@japrram: est-ce que le point d'interrogation doit être mis à jour pour faire apparaître nunit au lieu de mstest? – GregC

0

mettre à jour votre code Tenir compte utiliser NUnit 2.5 avec RequiresSTA attribut.

0

Essayez ceci:

[STAThread] 
static void Main(string[] args) 
{ 
}