让我们考虑一个场景,我们必须运行“Create an account API”的性能测试,该API将输入作为头/路径参数“auth token”,并输入诸如用户帐户名之类的数据。因此对于上面的场景,我们有2个特性文件,
运行POST的性能测试http://baseurl/auth_param/create/input_data1。一个特性(例如: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文件读取auth,以便作为参数传递吗?请建议我如何在调用karateFeature方法时将参数传递给CreateAccount.Feature。
让我在这里提出一个要求,
假设我们有一些针对特定数据的CRUD操作的特性文件。这里是如何编写功能场景的,
现在,如果我对单个操作进行性能测试,我觉得有两种方法,
这里只想知道第二种表现测试方式,它在空手道中是否可以实现,如果可以,请让我知道如何实现?
总结--我认为它可以通过第三个特性文件(extra)来实现,但是我不想为每个用例制作一个额外的特性文件,这样我就可以避免维护工作,并且可以利用现有特性文件从功能测试到性能测试的可重用性。
只需使用普通的空手道概念,如karate-config.js
通过设置karate.env
系统属性,可以轻松切换环境。
例如:
如果您真的需要,请创建一个Java单例并从每个特性访问它。但我完全不建议你这么做。
编辑:在空手道0.9.0以后的版本中,如果一个特性中有一个标记,您可以调用该特性中的单个场景:
classpath:animals/cats/create.feature@sometagname
任何帮助都将不胜感激。谢谢!
我有一个scala类a,其中有一个方法。 还有一个B类
问题内容: 我必须在6个以上的环境中运行相同的其余api脚本集。因此,我已将所有测试数据和端点/资源路径存储在json文件中。然后,我尝试将此json文件读入我的karate- config.js文件,这是因为我要获取与从命令行(karate.env)传递的环境相对应的数据,该环境正在读入我的空手道-config.js文件 以下是我的json文件示例 下面是我的karate-config.js文件
我有一个设计问题,当使用类似的东西时: 我认为应该有一些更好的方法来实现这种参数化的特性。 我在std中没有找到好的示例(例如,在具有类似的关联类型的traits中没有实现)?
问题内容: 我是一个完整的Java新手。我知道Java将所有参数都视为按值传递,并且还有其他几个线程可以解释这一点。 例如,在C ++中,我可以执行以下操作: 哪个将输出3。我知道在Java中,所有参数都是按值传递的,因此您无法操纵传入的参数。在Java中,有没有一种标准的方法来 模拟 按引用传递?有没有办法调用操作传入变量的函数?对于我来说,很难绕开没有办法做到这一点的想法。 问题答案: 模拟传