Asp.net mvc Watin浏览器标题属性为空

Asp.net mvc Watin浏览器标题属性为空,asp.net-mvc,watin,specflow,Asp.net Mvc,Watin,Specflow,我正在mvc3 web应用程序上使用Watin和Specflow。我已经设置了一个帮助器来创建静态浏览器,用于步骤测试方法。所有设置似乎都正确,但是当我运行测试时,断言(我的“Then”方法)上的browser title属性为空。我也尝试过在页面上搜索元素,结果浏览器超时了 我已经尝试过调试,但这似乎也没有帮助,因为浏览器是静态的 还有什么原因可能导致这种情况 非常感谢您的帮助 BTY-浏览器打开并导航到我在第一步中请求的页面 更新: 我创建了另一个应用程序来尝试定位问题…同样的问题。代码如下

我正在mvc3 web应用程序上使用Watin和Specflow。我已经设置了一个帮助器来创建静态浏览器,用于步骤测试方法。所有设置似乎都正确,但是当我运行测试时,断言(我的“Then”方法)上的browser title属性为空。我也尝试过在页面上搜索元素,结果浏览器超时了

我已经尝试过调试,但这似乎也没有帮助,因为浏览器是静态的

还有什么原因可能导致这种情况

非常感谢您的帮助

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>
步进文件

[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;
        }
    }
}

你知道我如何找出这个问题吗?

原来这是因为IE9在互联网站点的保护模式下运行=\

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;
        }
    }
}