3

I have the following code in an Nunit test ...

    string url = "";
    url = @"http://localhost/ClientPortalDev/Account/LogOn";
    ieStaticInstanceHelper = new IEStaticInstanceHelper();
    ieStaticInstanceHelper.IE = new IE(url);
    ieStaticInstanceHelper.IE.TextField(Find.ById("UserName")).TypeText("abc");
    ieStaticInstanceHelper.IE.TextField(Find.ById("Password")).TypeText("defg");
    ieStaticInstanceHelper.IE.Button(Find.ById("submit")).Click();
    ieStaticInstanceHelper.IE.Close();

On right-clicking the project in Dev10(visual studio 10) and choosing [Test With][NUnit 2.5], this test code runs with no problems. I have TestDriven installed. When opening the NUnit from C:\Program Files (x86)\NUnit 2.5.5\bin\net-2.0\nunit.exe" and then opening my test dll, the following text is reported in NUnit Errors and failures

... LoginAsWellKnownUserShouldSucceed:
System.Runtime.InteropServices.COMException : Error HRESULT E_FAIL has been returned from a call to a COM component.

As an Aside ... Right-Clicking the source cs file in Dev10 and choosing Run Test, ... works as well. The above test is actually part of TechTalk.SpecFlow 1.3 step, I have NUnit 2.5.5.10112, installed, I have Watin 20.20 installed, I have the following App.config for my test dll
the start angle brackets have been removed ... how do you get xml to show up in

configuration>
  configSections>
    sectionGroup name="NUnit">
      section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
    /sectionGroup>
  /configSections>
  NUnit>
    TestRunner>
      add key="ApartmentState" value="STA" />
    /TestRunner>
  /NUnit>
  appSettings>
    add key="configCheck" value="12345" />
  /appSettings>
/configuration>

Anyone hit this before ? The NUnit test obviously runs in NUnit 2.5.5 of TestDriven but not when running NUnit 2.5.5 from outside of Dev10 and TestDriven ?

user206890
  • 531
  • 6
  • 17
  • Dev10=VisualStudio10 ; I am still working thru this one ; TestDriven uses nunit-x86 rather than nunit.exe; also played with removing all IE addins ; also played with getting IE for watin which i think is the real issue - it is very ... unreliable ... onwards ... – user206890 May 19 '10 at 20:34

3 Answers3

1

Run the test in NUnit as admin. I was running Dev10 as admin so I could attatch and debug w3ww, which was why the TestDriven test was working. As soon as I started running NUnit as admin the COM Server isue issue goess away. What makes it more confusing is that running the hello-world exmaple against google from the Watin site works even though NUnit is not run as admin.
To use NUNit + Watin + against local web server, running NUnit as admin solves the com server exception issue.

user206890
  • 531
  • 6
  • 17
0

I am using MSTest, call Refresh to avoid cached data, this worked for me:

browser.Refresh();
browser.TextField(Find.ById("username")).TypeText("user");
browser.TextField(Find.ById("password")).TypeText("pass");
browser.Button(Find.ByName("SUBMIT")).Click();
Adrian
  • 7,745
  • 5
  • 28
  • 28
0

Try using RequiresSTA attribute in your test code instead of the configuration file.

GregC
  • 7,737
  • 2
  • 53
  • 67