最近在VS/MSTest上遇到了一个问题,我想知道是否有人遇到过类似的问题。
我目前正在使用MSTest在c#中开发一个UI框架,在过去的几周里,我一直在为CI实现selenium grid/Jenkins。
Selenium网格促进了并行测试运行,但运行是由MSTest完成的。在过去的几周里,使用VS运行的并行测试已经停止工作。
没有对测试的结构或创建方式进行任何更改,但是当创建多个驱动程序实例时,驱动程序A工作,直到创建驱动程序B,然后驱动程序B运行,而驱动程序A停止执行步骤。
我开始认为这是WebDriver或MSTest本身的一个错误,因为在没有任何代码更改的情况下,一些正在工作的东西停止工作是很奇怪的。想知道其他人是否也有类似的问题。
它已经为我工作了几个月,我通过并行运行发现了一些问题,所以奇怪的是,它突然停止了工作,没有任何改变。它上一次工作大约是在2个月前。
我尝试将解决方案中的每个静态方法/变量都更改为不是静态的,因为我已经了解到静态可能会导致问题,但它没有帮助。
setup是使用Seleno (Webdriver Nuget Package)测试编写的单元测试解决方案,在MSTest中使用。页面对象方法。
驱动程序:Chromedriver 2.33
Chrome版本:版本62.0.3202.75 (官方版本)(64位)
在解决方案中使用.Testsettings文件启用并行测试运行
IE/IEDriverServer的最新版本也发生了同样的事情,这让我觉得可能是WebDriver出了问题。
任何帮助或想法都将不胜感激。
谢谢,
G
发布于 2017-12-07 17:51:27
我也有同样的问题。在我的例子中,这是我第一次实现Selenium网格并尝试并行运行测试。它们是按顺序运行的。
我发现了这个:
http://colinsalmcorner.com/post/parallel-testing-in-a-selenium-grid-with-vsts
显然,解决这个问题的唯一方法是将测试放在单独的.csproj文件中,或者运行多个mstest进程,并将适当的测试列表作为每个进程的参数(使用您可以创建的某个实用程序)。请随时与我联系。
发布于 2018-07-09 23:23:52
这里的问题最终是javascript executor是静态的,以添加一个内部团队想要的功能。每次打开一个新实例时,都会为executor分配一个新值,并且只在此窗口的控制台中进行输入。
以一种不需要executor为静态且全部正常工作的方式实现特性
https://stackoverflow.com/questions/47146194
复制相似问题