将这个发布到谷歌组SpecFlow,但那里几乎没有活动,所以我们去。
我有一个SpecFlow / Selenium / MSBuild项目,我正在运行一个简单方案 命令行,如下所示:
SpecRun.exe run Default.srprofile "/filter:@%filter%"
浏览器实例启动,断言完成,浏览器实例关闭。这个 大约需要5-10秒。
然而:在此之后,我必须等待60秒,直到SpecRun进程关闭并给我结果如下:
Discovered 1 tests
Thread#0:
0% completed
Thread#0: S
100% completed
Done.
Result: all tests passed
Total: 1
Succeeded: 1
Ignored: 0
Pending: 0
Skipped: 0
Failed: 0
Execution Time: 00:01:01.1724989
我目前正在假设这是因为它正在将测试执行报告写入磁盘..但我无法弄清楚如何将其关闭... { {3}} 而且,我无法弄清楚为什么这需要60秒,或者如何进一步调试它。
我删除了AfterScenario并检查了selenium驱动程序退出/关闭并验证了这不是造成问题的原因。
任何人都可以对此有所了解吗?
谢谢
答案 0 :(得分:0)
耶稣。 BaseStepDefinitions存在严重问题。做了一些调试,发现BeforeScenario在一次测试中被击中了25次。每个单一场景启动和关闭25个实例。通过使用干净的文件重新开始修复,如:
[Binding]
public class BaseStepDefinitions
{
public static IWebDriver Driver;
private static void Setup()
{
Driver = new ChromeDriver();
}
[BeforeFeature]
public static void BeforeFeature()
{
Setup();
}
[AfterFeature]
public static void AfterFeature()
{
Driver.Dispose();
}
}
我不会发布原始文件,因为它令人尴尬。
这是一个帮助我https://groups.google.com/forum/#!topic/specflow/LSt0PGv2DeY
的类似问题