首页 > 解决方案 > 空手道 API 测试在读取 karate-config.js 时给出 javascript 评估失败错误

问题描述

我刚开始使用空手道,想使用 karate-config.js 来配置它。在 Maven 中,我有

    <dependency>
        <groupId>com.intuit.karate</groupId>
        <artifactId>karate-core</artifactId>
        <version>0.6.0</version>
    </dependency>

    <dependency>
        <groupId>com.intuit.karate</groupId>
        <artifactId>karate-apache</artifactId>
        <version>0.6.0</version>
    </dependency>

    <dependency>
        <groupId>com.intuit.karate</groupId>
        <artifactId>karate-junit4</artifactId>
        <version>0.6.0</version>
    </dependency>

我将 karate-config.js 放在资源文件夹下:

function() {
    var env = karate.env; // get java system property 'karate.env'

    karate.log('karate.env selected environment was:', env);
    karate.configure("ssl", true)

    if (!env) {
    env = 'dev'; //env can be anything: dev, qa, staging, etc.
    }

    var config = {
    env: env,

    AM_USERNAME: 'devuser',
    AM_PASSWORD: 'devpass',
    AM_HOST: 'https://am.'+env+'.example.net',
    AM_AUTHENTICATE_PATH: '/am/json/realms/root/authenticate',

...

启动器.java

@RunWith(Karate.class)
@CucumberOptions(features = "classpath:karate")
public class StartCucumberApiTest {
}

但是当我尝试运行时,我得到了这个:

java.lang.RuntimeException:引导配置错误,karate-config.js 评估失败:原因:java.lang.RuntimeException:javascript 评估失败:function() { var env = karate.env; // 获取 java 系统属性 'karate.env'

似乎 java 无法评估 karate-config.js

  1. 为什么它是用于配置的 javascript?
  2. 显然,java 无法解析这个 javascript 配置文件,那么我怎样才能让 karate-config.js 工作呢?

谢谢

标签: karate

解决方案


推荐阅读