使用Gems或Jenkins(或两者)在多台机器上并行化黄瓜BDD测试

Eze*_*tha 4 selenium-grid watir cucumber parallel-testing jenkins

我正在使用带有Cucumber的 BDD (带有page_object gem),WatirJenkins运行一个项目.现在,我们正在寻找并行化测试的最佳方法,以减少多个虚拟机上的测试时间,使用不同的导航器等.

我认为有两种方法:

  • 使用像parallel_test,Hydra,TestJour,TestBot这样的Ruby工具......
  • 或者通过Jenkins组织一切,使用路径,标签等.
  • 以某种方式使用两者

为了在正确的方式上付出努力...你认为Jenkins是在多台机器上进行并行测试的好选择还是我应该给另一个工具机会?欢迎提出建议:)

小智 8

詹金斯只是解决方案的一部分.您可以使用parallel_tests同时运行多个cukes(只要您的Jenkins服务器未在Windows上运行),但您仍需要更多.

您需要设置一个服务器网格来处理watir测试.我强烈建议您查看Selenium Grid 2(http://code.google.com/p/selenium/wiki/Grid2).在远程VM上设置节点并在Jenkins服务器上启动集线器.然后,parallel_tests可以并行运行测试,并将它们连接到本地集线器,然后本地集线器将它们发送到远程服务器以供执行.

需要注意的是 - 为了使其运行良好,您需要制定一个良好的测试数据管理策略.每个测试都需要能够独立运行.此外,他们每个人都应负责为测试运行设置必要的数据,然后在测试执行后清理数据.