空手道 | xml post 方法执行

karate | xml post method exeuction

我遇到 xml post 请求的问题,其中 post 方法未执行。当我尝试在 post man 中 post 相同的请求 body 时,它 worked.My 测试成功 200 但实际请求未执行。 如果我遗漏了请告诉我

为了传递请求 body,我正在通过 java object 调用并且有效载荷构造正确并且 printed.In 执行测试成功并且不打印response.But 实际上测试没有执行。 仅打印 headers。

***************** create-user.feature*****************

功能:为提供的国家/地区创建 ims 用户 需要国家代码,

背景:

# load secrets from json
* def createuser = Java.type('com.user.JavaTestData')
* def create = createuser.createUser("US")

场景:获取服务令牌

给定 url imscreateuserurl 并请求创建 当方法 post 然后状态200 * 打印响应 ***************** create-user.feature*****************


这里是javaclass

public class JavaTestData {

    private static final Logger logger = LoggerFactory.getLogger(JavaTestData.class);

     public static String createUser(String countryCodeInput) {
        logger.debug("create user for country code input", countryCodeInput);

除非你post一个full working example,没人能帮你。很明显 create 的值为 null 或空。

此外,我个人认为您使用 Java 是在浪费时间。空手道的重点是尽可能避免使用 Java。

查看这些示例以获取灵感:https://github.com/intuit/karate/blob/master/karate-junit4/src/test/java/com/intuit/karate/junit4/xml/xml.feature

编辑:另请参阅 type-conversion 上的文档:https://github.com/intuit/karate#type-conversion

@Peter,这是我的功能文件 功能:为提供的国家/地区创建 ims 用户 需要国家代码, 背景: # 从 json 加载秘密 * def createuser = Java.type('com.adobe.imscreateuser.JavaTestData') * def create = createuser.createUser("US")

场景:获取服务令牌

给定 url imscreateuserurl 并且 header Content-Type = 'application/xml; charset=utf-8' 并请求创建 当方法 post 然后状态200 * 打印响应

我已经执行打印创建并显示完整 payload.At 当方法 post -> 声明它为 null 或空...

不确定丢失的地方