【发布时间】:2020-04-14 02:01:47
【问题描述】:
让我们考虑一个场景,我们必须为“创建帐户 api”运行性能测试,该测试将输入作为标题/路径参数“身份验证令牌”并输入用户帐户名称等数据。因此,对于上述情况,我们有 2 个功能文件,
为 POST 运行性能测试 http://baseUrl/auth_param/create/input_data 1.一个特征(例如:generateAuth.feature)文件,将具有身份验证 令牌 2.第二个特征(createAccount.feature)文件,它以参数为 验证令牌,输入数据。
这是我的模拟课,
class <MyClass> extends Simulation {
before {
println("Simulation is about to start!")
}
val generateAuthTest = scenario("generateAuth").exec(karateFeature("classpath:path/generateAuth.feature"))
val createAccountTest = scenario("test").exec(karateFeature("classpath:path/createAccount.feature"))
setUp(
createAccountTest.inject(rampUsers(1) over (10 seconds))).maxDuration(1 minutes)
after {
println("Simulation is finished!")
}
}
在这里,我可以从作为 createAccount.feature 文件输入的 generateAuth.feature 文件中读取身份验证,以便我可以作为参数传递吗? 请建议我在调用 karateFeature 方法时如何将参数传递给 createAccount.feature。
让我在这里提出一个要求,
假设我们有一些用于对特定数据进行 CRUD 操作的功能文件。这里我怎么去写功能场景,
- 我将创建新功能文件来编写场景
- 只需使用 CRUD 文件来测试 SINGLE 流。
现在如果我在个人操作上进行性能测试用例,我觉得有两种方法,
- 创建新的 4 个性能测试功能文件(每个 CRUD 一个 方法)并在相应的测试中调用这些 CRUD 功能文件 特征文件。最后我们只是在 相应的加特林模拟类。 **(在这种情况下,我最终将创建更多的测试功能文件以及模拟类 性能,我想避免)**
- 只需在相应的加特林模拟类中调用 CRUD 文件,然后 将所需的参数传递给它们。(在这种情况下,我们只需要创建 4 个模拟 类并在创建、读取、删除等操作的基础上运行它们)
这里只是想知道第二种性能测试方法,在空手道中是否可以实现,如果可以,请告诉我如何?
总结-我认为使用第三个功能文件(额外)可以实现 个别用例,但我不想制作额外的功能文件 对于每种情况,这样我就可以避免维护工作并且可以采取 现有功能文件的可重用性优势 测试到性能测试。
【问题讨论】: