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