我正在使用空手道加特林检查性能测试。为此,我创建了 .scala 类,如下所示。
package Performance
import com.intuit.karate.gatling.PreDef._
import io.gatling.core.Predef._
import scala.concurrent.duration._
class Testing extends Simulation {
val create = scenario("create").exec(karateFeature("classpath:Performance/Demo.feature"))
setUp(
create.inject(rampUsers(10) during (8 seconds)).protocols(protocol),
)
}
功能文件Demo.feature:
Feature:
Scenario:
Given url 'https://example.com'
When method GET
Then status 200
在 POM 中使用以下依赖项和插件。
<dependency>
<groupId>com.intuit.karate</groupId>
<artifactId>karate-gatling</artifactId>
<version>1.4.1</version>
<scope>test</scope>
</dependency>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.5.6</version>
<executions>
<execution>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<args>
<arg>-Jbackend:GenBCode</arg>
<arg>-Jdelambdafy:method</arg>
<arg>-target:jvm-1.8</arg>
<arg>-deprecation</arg>
<arg>-feature</arg>
<arg>-unchecked</arg>
<arg>-language:implicitConversions</arg>
<arg>-language:postfixOps</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>${gatling.plugin.version}</version>
<configuration>
<simulationsFolder>src/test/java</simulationsFolder>
<includes>
<include>Performance.Testing</include>
</includes>
</configuration>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
但是,我想在 Eclipse IDE 中通过 java 或 javascript 函数调用这个 .scala 类。
我尝试了一些方法通过创建一个对象来通过java调用这个.scala类,但它给出了编译错误。
你能帮我解决这个问题吗,如何通过java或javascript调用.scala类。
Karate 1.4.1 不支持 java 8。您需要将目标 JVM 更改为 11,或者如果必须使用 8,则降级您正在使用的空手道版本。