如何在gatling模拟中运行多个空手道功能文件?
以下是我gatling模拟的代码片段:
class TestGatlingScalaSimulation extends Simulation {
val log: Logger = LoggerFactory.getLogger(classOf[TestGatlingScalaSimulation])
/*val environmentVars = System.getenv().asScala
for ((k,v) <- environmentVars) println(s"key: $k, value: $v")*/
val properties: mutable.Map[String, String] = System.getProperties.asScala
//for ((k,v) <- properties) println(s"key: $k, value: $v")
val activeUsers: Int = properties.getOrElse("SIM_ACTIVE_USERS", "10").asInstanceOf[String].toInt
val rampUpPeriod: Int = properties.getOrElse("SIM_RAMP_UP_PERIOD", "10").asInstanceOf[String].toInt
val karateFeatureFile: String = properties.getOrElse("SIM_FEATURE", "karate/example.feature")
val protocol: KarateProtocol = karateProtocol()
protocol.nameResolver = (req, ctx) => req.getHeader("karate-name")
val create: ScenarioBuilder = scenario("create").exec(karateFeature(s"classpath:$karateFeatureFile"))
log.info("Running simulation of feature [{}] with [{}] users ramped up in [{}]", karateFeatureFile, activeUsers.toString, rampUpPeriod.toString)
setUp(
create.inject(rampUsers(activeUsers) during (rampUpPeriod seconds)).protocols(protocol)
)
}
我每次只能运行一个功能文件,如下所示:
./gradlew -Pgatling_simulation=performance.TestGatlingScalaSimulation -DSIM_ACTIVE_USERS=100 -DSIM_RAMP
_UP_PERIOD=10 -DSIM_FEATURE="karate/flight/myfeature.feature" gatlingRun
这在文档中描述得很清楚:https://github.com/intuit/karate/tree/master/karate-gatling#usage
val create = scenario("create").exec(karateFeature("classpath:mock/cats-create.feature"))
val delete = scenario("delete").exec(karateFeature("classpath:mock/cats-delete.feature@name=delete"))
setUp(
create.inject(rampUsers(10) during (5 seconds)).protocols(protocol),
delete.inject(rampUsers(5) during (5 seconds)).protocols(protocol)
)
我有两个空手道特征文件 一个用于创建用户(CreateUser.feature) 一个用于获取创建的用户数(GetUserCount.feature) 我还有一个Gatling Scala文件 这将调用CreateUser。rampUser(100)超过(5秒)的功能 这工作完美。我想知道的是,在加特林完成模拟后,我如何调用GetUserCount.feature?只能调用一次以获取最终创建的用户
我有五个不同的URLendpoint(环境)用于生产和QA,我需要在一次运行中在所有这些生产环境中执行相同的特性,并在一个cucumber报告中得到结果-(在TestNG中,我将每个环境作为参数传递到单独的XML文件中,然后使用一个公共的TestNG.XML文件,该文件包含所有这些不同环境的XML)。 我如何在Karate-config文件中管理这个? 我有以下生产环境ProdV1、ProdV2、
有人能帮我重新运行空手道中失败的功能吗?下面是cucumber选项和跑步者测试,用于并行-
我尝试用空手道设置一个集成/应用编程接口测试套件,并考虑使用空手道网络来模拟所需的服务。对于测试设置,测试A(Spring Boot应用程序)下的系统完全启动。空手道测试然后由针对该实例的Maven测试运行执行。 服务A依赖于多个其他服务,这些服务需要在测试中被模拟掉。为此,我的想法是将正在运行的KarateNetty独立实例配置为HTTP代理(由服务a的JVM参数完成)。 现在我的想法是创建一个
我希望只通过代码通过空手道UI运行多个功能文件。空手道UI提供了一个又一个执行cucumber特性文件的特性,但我希望通过代码打开UI,使用但在那里我不能使用三个参数。 如果我放置多个,然后它只拾取第一个feature1文件。
我已经安装了cucumber eclipse插件。我已经用空手道编写了我的简单功能文件,当我试图将其作为cucumber测试运行时,我被要求实现缺少的步骤。当我使用专用的运行程序运行同一个功能文件时,它的执行不会出现任何问题。请你帮忙。我正在尝试在不使用专用跑步者的情况下进行这项测试