我们假设您有一个交易场景的业务流程:
Rate the product
您需要为上述交易流程准备一个 JMeter 脚本. 你有大概两天的时间来完成这个交易场景的 JMeter 脚本。但是一件好事是你有 3 个测试团队成员,他们可以帮助你在规定时间表内完成该 j 交易场景测试任务。
我们将如何分配工作和管理该脚本测试计划呢?
解决方案是综合运用测试片段 Test Fragment , 包括控制器 Include Controller ,模块控制器 Module Controller ,事务控制器 Transaction Controller。默认情况下,JMeter 脚本比较复杂!但是有一些很好的解决方案可以帮助你。JMeter 提供了这些扩展属性元素和控制器,以最小化脚本中的代码量,并通过将流拆分为小片段 ,小模块, 小事务使它们更容易维护。
如果需要一个以上的测试人员同时在不同的模块上进行脚本开发工作,并且这些模块可以合并到一个脚本测试计划中,那么以上概念是一个有效的解决方案。
在上面的示例中,如果您将交易场景业务流划分为小模块,并将每个模块分配给 3 个测试团队成员,如我们分为了三个 User Sign-up/Login module 户注册/登录模块、Place Order Module 下订单模块和 Update Order Module 更新订单模块,那么您可以在给定的时间线内完成脚本开发任务。
如下分配:
User Sign-up/Login module 户注册/登录模块:
1a. Launch Home Page
1b. User Sign-up
1c. User Verification/Activation
1d. User Login
Place Order Module 下订单模块:
2a. Go To Search Page
2b. Search a Product
2c. View full detail of a product
2d. Product - Add to cart
2e. Fill Order form
2f. Fill payment details
2g. Place Order
Update Order Module 更新订单模块:
3a. Update Order
3b. Re-submit Order
3c. Rate the product
现在的问题是如何创建 “测试片段” 元素?
创建测试片段步骤如下:
1 选中 “Test Plan” 右键
2 右键菜单中选择 “Add’
3 继续右键菜单中移至 “Test Fragment” 选择添加即可
然后,在拆分好的三个测试片段内部,每个测试人员可以通过添加单独的逻辑控制器、配置元素、csv 文件、计时器、采样器等来创建每个特定模块所需的接口操作流程,并分别保存为 3 个测试计划。如这三个测试计划为:
update-order.jmx
做好独立的三个小模块场景的测试计划脚本后,这时候我们来创建第四个脚本作为串联 3 个小模块场景的 main 主测试计划脚本(比如保存为 main.jmx 的主脚本),以及名为 “include controller” 的逻辑控制器。必须为每个模块命名.jmx 文件。对于我们的示例,我们使用的是 “signup-login.jmx”、“place-order.jmx” 和 “update-order.jmx”。这些子模块将在主脚本中运行,在 “查看结果树” 选项卡下可以看到执行的操作。为了分割用户流和负载测试流,可以在测试中添加和合并模块。请参阅下面的.gif 以了解更多有关示例的信息: