2015-11-10 48 views
0

我使用小黄瓜场景,Specflow步骤和Selenium远程web驱动程序为Asp.Net MVC项目设置自动验收测试。目标是使用selenium服务器集线器在多个节点上并行运行Jenkins的测试。使用小黄瓜,Specflow和硒并行测试

目前我试图让他们在本地并行运行并遇到一些困难。是否可以与Gherkin/Specflow设置并行运行这些测试,或者小黄瓜场景是否重复使用相同Specflow步骤进行类似场景的事实使得无法同时运行这些测试?

如果不是不可能的话,究竟该怎么办?如果不可能做什么来加速测试过程呢?

回答

0

它无关

的事实,小黄瓜场景重复使用相同的Specflow步骤类似的情景使人们无法同时运行它们

这是完全可能的运行MSTestin parallel。据我所知,悬挂测试的最大数量不应超过。然而,为了达到这个目的,我使用了自定义工具,在单独的线程中产生每个测试,使用TPL很容易实现。

+0

也许我把它设置错了。当我单独运行它们或一起运行但没有并行执行时,它们运行良好。当我启用并行执行时,我遇到了问题。例如,如果我运行两个场景来测试不同的链接加载它们各自的页面,第二个将会失败,因为它会得到第一个结果。也许他们试图在相同的驱动程序实例上运行并行操作。 – Sh3mm

+1

我的猜测是你正在混合'IWebDriver'实例。每个驱动程序通过其会话ID与单个相应的浏览器实例交流。再看看你的设计:) – ekostadinov

+0

我有一个场景大纲来运行5个类似的测试。我有一个BeforeScenario方法来创建一个新的RemoteWebDriver和一个AfterScenario来拆卸它。当我使用并行执行运行多个测试时,AfterScenario方法退出驱动程序会杀死其余的测试。如何为场景的每次运行创建一个新的驱动程序? – Sh3mm