首页 文章

如何从CMDB系统中检索初始配置并将其传递给karate-config

提问于
浏览
2

我有一个情况 . 我需要向CMDB系统发送一个get请求,并检索 endpoints URI,路径,数据库连接字符串等初始配置作为JSON对象 . CMDB系统将发回一个JSON对象 . 我如何在karate-config.js中实现这一点 . 我应该写一个自定义的javascript函数还是我有任何内置功能?我检查了空手道对象部分,但是,不明白该怎么做 .

我为此写了一些自定义js函数 . 它们在我的系统中独立工作(我的机器上安装了node.js),但在karate-config.js中无效 .

First one

var HttpClient = function () {
    this.get = function (aUrl, aCallback) {
        var XMLHttpRequest = require('xhr2');
        var anHttpRequest = new XMLHttpRequest();
        anHttpRequest.onreadystatechange = function () {
            if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200)
                aCallback(anHttpRequest.responseText);
        }
        anHttpRequest.open("GET", aUrl, true);
        anHttpRequest.send(null);
    }
}


var url = 'https://reqres.in/api/users/2';
var client = new HttpClient();
client.get(url, function (response) {
    var response1 = JSON.parse(response);
    console.log(response1)
});

Second

var axios = require('axios');
// Make a request for a user with a given ID
axios.get('https://reqres.in/api/users/2').then(function (response) {
  console.log(response)
}).catch(function (error) {
  console.log(error);
});

1 回答

  • 1

    我想你忘了空手道碰巧非常擅长发出HTTP请求:)

    您需要做的就是编写一个可重复使用的空手道功能文件,使 GEThttps://reqres.in/api/users/2 . 您可能需要找出所需的任何标头 .

    现在可以在 karate-config.js 中使用 karate.callSingle() 方法来完全按照您的要求进行操作 . 看第31行:

    https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/karate-config.js#L31

相关问题