如何使用示例 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
。
我的外部 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
。