如何使用示例 table 为 SOAP 请求传递空值。记录2-6正在形成故障XML请求

how to pass null values using example table for a SOAP request. Record 2-6 are forming fault XML request

我的外部 XML 文件名为“myXml.xml”如下:

<names>
<firstname>#(fname)</firstname>
<middlename>#(mname)</middlename>
<lastname>#(lname)</lastname>
</names>

我的空手道功能文件代码如下(实际的空手道功能代码是针对不同用例的 SOAP 请求)

    Feature: Karate load null value

Scenario: xml empty elements and null

Scenario Outline: load null values to externalized xml input
    * url 'myurl'
    * path'/mypath'
    * request read(myXml.xml)
    * soap action 'xxxxxxx'
    * status 200

Examples:
    | fname|  mname    | lname    | 
    |  f1  |   m1      | l1       |
    |  f2  |   null    | l2      |
    |  f3  |   ''      | l3      |
    |  f4  |    #null  | l4      |
    |  f5  |           | l5      |
    |  f6  |    'null' | l6      |

问题:仅获得对第一条记录的成功响应。其他XML队形未兑现

每当需要形成 'middlename' 的空值时,XML 或 <middlename></middlename> 但总是存储来自示例 table 的字符串值。

试试这个:

Scenario Outline:
* def body =
"""
<names>
<firstname>#(fname)</firstname>
<middlename>##(mname)</middlename>
<lastname>#(lname)</lastname>
</names>
"""
* print body

Examples:
| fname |  mname!  | lname | 
| f1    |  'm1'    | l1    |
| f2    |          | l2    |

并阅读文档的这一部分,了解在列名中使用 ! 的效果:https://github.com/intuit/karate#scenario-outline-enhancements

空格将自动转换为 null