mvc3 Web アプリで Specflow と共に Watin を使用しています。ステップ テスト メソッドに使用する静的ブラウザーを作成するヘルパーをセットアップしました。すべてが正しく設定されているように見えますが、テストを実行すると、アサーション (「Then」メソッド) でブラウザーのタイトル プロパティが空になります。また、ページ上の要素を検索しようとしましたが、ブラウザーがタイムアウトしてしまいました。
デバッグを試みましたが、ブラウザが静的であるため、それも役に立たないようです。
他に何が原因でしょうか?
どんな助けでも大歓迎です!
BTY- ブラウザーが開き、最初のステップで要求したページに移動します。
アップデート:
問題を特定するために別のアプリを作成しました...同じ問題。コードを以下に示します。
App.Config
<?xml version="1.0" encoding="utf-8" ?>
<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>
スペックフロー機能
Feature: TestMyWebApp
In order to test my web app
As a user
I want to navigate to the home page
@mytag
Scenario: Navigation to homepage
When I navigate to /Home
Then I should be on the home page
ステップファイル
[Binding]
public class TestMyWebAppSteps
{
[When(@"I navigate to /Home")]
public void WhenINavigateToHome()
{
WebBrowser.Current.GoTo("http://localhost:57556/Home");
}
[Then(@"I should be on the home page")]
public void ThenIShouldBeOnTheHomePage()
{
Assert.AreEqual("Home", WebBrowser.Current.Title);
}
}
ブラウザヘルパー
public static class WebBrowser
{
public static IE Current
{
get
{
string key = "browser";
if (!ScenarioContext.Current.ContainsKey(key))
{
ScenarioContext.Current[key] = new IE();
}
return ScenarioContext.Current[key] as IE;
}
}
}
問題を特定する方法はありますか???