使用另一个实用程序服务获取空手道请求数据
Get Karate request data using another util service
我的 API 的参数之一与安全相关,并链接到测试 运行 所在的环境,本质上它将是动态的。
由于这与安全相关,我有一个内部休息 API 提供此数据。
我想了解在空手道功能中获取此数据的有效方法是什么?
我尝试了两种不同的方法:
1. 定义了一个 java 实用程序并调用 java 类型和 def 变量来保存数据
- 将 Util 方法定义为空手道的一部分-config.js
空手道-config.js
function getSomeData(someValue) {
return Java.type('xyz.abc.util.MyUtil');
}
在功能文件中
定义了一个 JS
* def dataFromJS = read('classpath:com/xyz/util/js_that_invokes_rest.js')
我想了解是否存在应该如何完成此操作的模式,或者空手道是否明确支持这样做?
I have an internal rest API
嗯。您是否只是忘记了空手道就是关于发出 REST 请求!? :)
请创建一个可重复使用的功能,进行 REST 调用,定义您需要的变量,现在您可以从其他功能调用它。
请参考文档:https://github.com/intuit/karate#calling-other-feature-files
我的 API 的参数之一与安全相关,并链接到测试 运行 所在的环境,本质上它将是动态的。 由于这与安全相关,我有一个内部休息 API 提供此数据。 我想了解在空手道功能中获取此数据的有效方法是什么?
我尝试了两种不同的方法: 1. 定义了一个 java 实用程序并调用 java 类型和 def 变量来保存数据
- 将 Util 方法定义为空手道的一部分-config.js
空手道-config.js
function getSomeData(someValue) {
return Java.type('xyz.abc.util.MyUtil');
}
在功能文件中 定义了一个 JS
* def dataFromJS = read('classpath:com/xyz/util/js_that_invokes_rest.js')
我想了解是否存在应该如何完成此操作的模式,或者空手道是否明确支持这样做?
I have an internal rest API
嗯。您是否只是忘记了空手道就是关于发出 REST 请求!? :)
请创建一个可重复使用的功能,进行 REST 调用,定义您需要的变量,现在您可以从其他功能调用它。
请参考文档:https://github.com/intuit/karate#calling-other-feature-files