MSTest / Visual Studio并行测试运行

时间:2017-11-06 21:33:21

标签: c# selenium selenium-webdriver mstest selenium-grid

最近遇到VS / MSTest问题并想知道是否有人遇到过类似的问题。

我目前正在使用MSTest在c#中使用UI框架,在过去的几周里,我一直在为CI实现selenium grid / Jenkins。

Selenium网格有助于并行测试运行,但运行由MSTest完成。在过去的几周里,VS的并行测试运行已经停止了。

未对结构或创建测试的方式进行任何更改但是在创建多个驱动程序实例时,驱动程序A一直有效,直到创建驱动程序B,然后驱动程序B在驱动程序A停止执行步骤时运行。

我开始认为这是WebDriver或MSTest本身的一个错误,因为对于那些在没有任何代码更改的情况下停止工作的东西来说,这很奇怪。想知道是否有其他人有类似的问题。

它已经为我工作了好几个月,我通过并行运行找到了一些问题所以奇怪的是它突然停止工作而没有任何变化。它是在2个月前的最后一次工作。

我尝试将解决方案中的每个静态方法/变量更改为不是静态的,因为我读过静态可能会导致问题,但它没有帮助。

设置是 使用Seleno的单元测试解决方案(Webdriver Nuget Package) 在MSTest中使用单独测试编写的测试。页面对象方法。

司机:Chromedriver 2.33

Chrome版本:版本62.0.3202.75(官方版本)(64位)

使用解决方案中的.Testsettings文件启用并行测试运行

最新版本的IE / IEDriverServer发生了同样的事情,这让我觉得WebDriver可能是一个问题。

任何帮助或想法将不胜感激。

谢谢,

2 个答案:

答案 0 :(得分:0)

我有完全相同的问题。就我而言,它是我第一次实现Selenium网格并尝试并行运行测试。它们按顺序运行。

我发现了这个:

http://colinsalmcorner.com/post/parallel-testing-in-a-selenium-grid-with-vsts

显然解决问题的唯一方法是将测试放在单独的.csproj文件中,或者运行多个mstest进程,并在每个进程中使用适当的测试列表作为参数(可以创建一些实用程序)。请让我发布。

答案 1 :(得分:0)

这里的问题最终是使javascript执行程序静态化,以添加内部团队想要的功能之一。每次打开新实例时,都会为执行器分配一个新值,并且仅在此窗口的控制台中发生输入。

以不需要执行程序为静态且一切正常的方式实现了功能