我在mvc3网络应用上使用Watin和Specflow。我已经设置了一个帮助器来创建一个静态浏览器,用于我的步测试方法。所有似乎都设置正确,但是当我运行我的测试时,断言的浏览器标题属性为空(我的“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>
Specflow Feature
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;
}
}
}
任何想法如何确定问题???
答案 0 :(得分:0)