首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coypu/SpecFlow验收测试在通过Jenkins作业运行时挂起

Coypu/SpecFlow验收测试在通过Jenkins作业运行时挂起
EN

Stack Overflow用户
提问于 2012-08-02 11:58:53
回答 1查看 1.2K关注 0票数 0

我正在通过SpecFlow、NUnit和Coypu对一个项目进行验收测试(用于浏览器自动化,使用WatiN驱动程序)。测试的运行是通过powershell/psake脚本调用的。

如果我在本地机器上运行这些测试,它们就能正常运行。但是,我们有一个构建服务器,Jenkins作业将在该服务器上自动运行这些测试,当通过Jenkins作业运行时,它们不会执行--它们只是挂起。

在任务管理器中,我可以看到在Jenkins作业运行时创建了两个iexplore.exe实例。然而,在某个点之后,它们只是挂起--内存使用或CPU没有变化。

nunit-agent-x86.exenunit-console-x86.exe也在运行,但大部分是挂起的,只是nunit-agent-x86.exe在内存中上升得非常慢。

如果我杀死其中一个iexplore.exe处理程序,事情就会继续,但是SpecFlow规范随后都会失败。

在杀死iexplore.exe时,日志中有以下异常:

代码语言:javascript
复制
Unhandled Exception: System.Runtime.InteropServices.COMException: The remote procedure call failed. (Exception from HRESULT: 0x800706BE)

如果我在登录到服务器时手动调用psake脚本,规范就会运行OK。

当我试图为BrowserSession使用基本DI时,就会出现这个问题,如下面的gist:https://gist.github.com/2301407中所示。

在此之前,我通过一个BrowserSession类的静态属性共享NUnit。事情基本上是这样的,除了一个涉及模态对话框的测试没有正确工作的小问题,但我不确定我做得对,所以我想在要点中做这个技术。

我有点不知道是什么引起了绞刑。有什么想法或提示来追踪它吗?

更新:切换到火狐作为浏览器,硒作为驱动,问题已经消失.

EN

回答 1

Stack Overflow用户

发布于 2012-08-03 08:18:00

我在Coypu名单上收到了几个回复。我还没有对它们进行测试,因为火狐目前一切都很好,但万一它们对其他人有帮助.

2012年8月2日(星期四) 16:38:30 UTC+1,Adiel写道: ...i认为,watin需要nunit在STA (单线程)中运行,这可能与您的问题有关。 换句话说,也许您使用静态单例浏览器会话使您的测试线程安全,但是现在通过specflow的IOC,由于nunit的运行方式,您得到了多个实例。

2012年8月2日(星期四) 16:41:11 UTC+1,马特·埃利斯写道: 这听起来好像是Internet的保护模式阻碍了我们的前进。IE在不同的进程中运行不同的区域,例如Internet和Intranet (以及大约:空白),IIRC不能很好地处理这个问题。如果您可以在您的服务器上禁用受保护模式,您应该会没事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11776928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档