Coded ui tests BeforeFeature/AfterFeature在使用SpecFlow和编码UI时不起作用
我无法为我的功能文件定义Coded ui tests BeforeFeature/AfterFeature在使用SpecFlow和编码UI时不起作用,coded-ui-tests,specflow,Coded Ui Tests,Specflow,我无法为我的功能文件定义[BeforeFeature]/[AfterFeature]挂钩。正在测试的应用程序是WPF独立桌面应用程序 如果我使用[BeforeCasenario]/[AfterScenario]一切正常,应用程序启动时没有任何问题,设计的步骤正确执行,应用程序关闭 一旦我对[BeforeFeature]/[AfterFeature]标记使用相同的步骤,应用程序启动,测试失败,原因如下: 启动此进程时发生以下错误:对象引用未设置为对象的实例 以下是一个例子: [绑定] 公共课设置
[BeforeFeature]
/[AfterFeature]
挂钩。正在测试的应用程序是WPF独立桌面应用程序
如果我使用[BeforeCasenario]
/[AfterScenario]
一切正常,应用程序启动时没有任何问题,设计的步骤正确执行,应用程序关闭
一旦我对[BeforeFeature]
/[AfterFeature]
标记使用相同的步骤,应用程序启动,测试失败,原因如下:
启动此进程时发生以下错误:对象引用未设置为对象的实例
以下是一个例子:
[绑定]
公共课设置
{
[在场景之前(“设置场景”)]
公共静态void BeforeAppScenario()
{
UILoader.General.StartApplication();
}
[赛后(“设置场景”)]
公共静态无效AfterAppScenario()
{
UILoader.General.CloseApplication();
}
[前置功能(“设置功能”)]
public static void BeforeAppFeature()
{
UILoader.General.StartApplication();
}
[后功能(“设置功能”)]
公共静态无效AfterAppFeature()
{
UILoader.General.CloseApplication();
}
}
StartApplication
/CloseApplication
已记录,并使用编码的UI测试生成器自动生成:
public void StartApplication()
{
//启动“%ProgramFiles%”。。。
ApplicationUnderTest Application=ApplicationUnderTest.Launch(this.StartApplicationParams.ExePath,this.StartApplicationParams.AlternativeExePath);
}
公共类StartApplicationParams
{
公共字符串ExePath=“C:\\Program Files…”
公共字符串AlternateExePath=“%ProgramFiles%\\…”
}
值得注意的是:我对SpecFlow非常陌生。
我不明白为什么我的测试在[BeforeFeature]
中失败,而在[BeforeScenario]
中运行良好
如果有人能帮我解决这个问题,那就太好了。谢谢 我最近遇到了类似的问题。不确定这是否还能帮助你,但它可能对偶然发现这个问题的人有用 要使BeforeFeature\AfterFeature起作用,需要对功能本身进行标记,仅标记特定场景将不起作用 您的功能文件应如下所示开始:
@setup_feature
Feature: Name Of Your Feature
@setup_scenario
Scenario: ...
你也可以发布异常的堆栈跟踪吗?哪一行出错/是外部代码/运行代码的最后一行是什么?支持哪一版本的specflow?它在2.4.1上对我不起作用