4

我已经准备了一个机器人测试脚本,现在我正在尝试使用 Blazemeter - Taurus 在多个浏览器中(同时)运行该脚本。Tauyus yml 文件看起来像下面的代码。

我在 JMeter 中使用了相同的方法,而 Taurus 似乎可以按预期顺利运行 Jmeter。

execution:
- concurrency: 5
 executor: selenium
 runner: robot
 ramp-up: 50s
 hold-for: 2h
 scenario:
 script: WebFlow.robot

reporting:
 - console
 - final-stats
 - blazemeter

我期望启动 5 个浏览器窗口并同时运行机器人脚本。但是现在即使并发是 5,它也会一次打开一个浏览器,一旦整个机器人脚本完成运行,它就会第二次启动浏览器。

4

2 回答 2

1

在 Taurus 中,您可以轻松创建多个执行实例,这些实例将与机器人脚本并行,并将结果按预期聚合到单个报告中。例如:

execution:
- executor: robot
  concurrency: 1
  iterations: 5
  scenario:
    script: /tools/robot/phx-read-1.robot
- executor: robot
  concurrency: 1
  iterations: 5
  scenario:
    script: /tools/robot/phx-read-2.robot
- executor: robot
  concurrency: 1
  iterations: 5
  scenario:
    script: /tools/robot/phx-read-3.robot
- executor: robot
  concurrency: 1
  iterations: 5
  scenario:
    script: /tools/robot/phx-read-4.robot
- executor: robot
  concurrency: 1
  iterations: 5
  scenario:
    script: /tools/robot/phx-read-5.robot

reporting:
  - console
  - final-stats
  - blazemeter

是的,您必须多次指定它......但很容易编写脚本。在我的情况下,我实际上必须有不同的脚本,但 Taurus 很好地聚合了所有内容。

于 2019-09-16T20:04:32.963 回答
0

我建议查看机器人的pabot 库。我以前用它来并行运行测试,效果很好。

机器人框架测试的并行执行器。使用 Pabot,您可以将一个执行拆分为多个并节省测试执行时间。

于 2019-02-07T23:37:24.303 回答