【发布时间】:2018-02-27 19:45:17
【问题描述】:
我正在尝试使用空手道进行自动化测试。
我有一个 XML 负载。
我有一个静态 XML 有效负载,我正在从一个文件中准备好,我想循环调用我的服务。
对于每个调用,我想动态替换标签名称的值。
我将如何实现这一目标?
例如
以下是我的主要特征,它在循环中调用我的共同特征
Feature: Loop Call
Background:
* def common = call read('classpath:CommonFeatures.feature')
Scenario:
* table table
| payload_file | field_tag | field_value |
| 'HappyPath.xml' | 'car_fuel' | 'Gas' |
| 'HappyPath.xml' | 'car_color'| 'Red' |
* def response = call read('classpath:Car.feature') table
汽车功能
Feature: Common
Scenario:
* print payload_file
* print field_tag
* print field_value
* xml payload = read('classpath:/payload/'+payload_file)
* print payload
* set payload/$field_tag = field_value
这是我在设置 field_tag 值时遇到的问题。
我还有其他选择可以做到这一点,比如编写一个小的 java 脚本方法来替换标记值或一个使用 DOMParser 或 SAXParser 执行相同操作的小型 java 类。
但是我想知道是否有任何空手道的构建方式来执行相同的操作。
如果我使用 var parser = new DOMParser();似乎 DOMParser 无法使用。有没有办法让它可用?
【问题讨论】:
标签: testing automation karate