测试执行后,SpecRun.exe会挂起60秒

时间:2014-08-28 08:52:25

标签: selenium specflow specrun

将这个发布到谷歌组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驱动程序退出/关闭并验证了这不是造成问题的原因。

任何人都可以对此有所了解吗?

谢谢

1 个答案:

答案 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

的类似问题