如何通过机器人框架一次(并行)运行多个测试用例

时间:2014-05-30 08:30:09

标签: selenium automation automated-tests robotframework

我有一个测试场景, 其中门户必须同时由20个用户使用,并且必须报告门户的性能。为此,我需要同时访问20个Chrome浏览器中的门户网站。

这可以通过机器人框架吗?如果是这样,怎么??

提前致谢..

2 个答案:

答案 0 :(得分:2)

你在做什么是压力测试,而不是功能测试。机器人框架非常适合功能测试,但很快就会达到压力测试的极限。我建议转向一个更适合工作的工具。在我的项目中,我使用Robot Framework进行功能测试,并使用Gatling进行压力测试。 record一个场景非常容易,然后让该工具同时为20个用户运行它。您将获得面向压力测试的报告,并将轻松转向更复杂的压力测试场景。

答案 1 :(得分:1)

机器人框架内置任何内置功能都不支持并行执行。它可以做,但你必须做一些工作。例如,最简单的方法是创建一个shell脚本(或批处理脚本或powershell脚本......),它只需在20个进程中调用20次机器人,等待它们完成,然后合并日志。

当我搜索" robotframework parallel"时,第一次点击将我带到了一个名为Parallel的图书馆,该广告宣传:

  

用于从机器人测试内部并行执行测试的库   情况下。

还有pabot,它是" Robot Framework测试用例的并行执行程序。"这个问题已在机器人框架用户组here以及其他地方进行了讨论。

但是,由于您提到使用chrome,我认为这些使用了selenium库。您可以在计算机上打开多少个浏览器是有限制的,并且限制在20以下。因此,您必须在多台计算机上运行这些测试,或者设置{{3}这些测试可以利用,因此他们不能在同一台机器上打开浏览器窗口。

有一个维基页面显示了使用网格的可能解决方案:selenium grid