空手道-在运行测试用例时编辑xml

问题描述

我有以下xml:

<?xml version="1.0" encoding="utf-8"?>
<request>
    <head>
        <session-id>none</session-id>
    </head>
    <service name="test">
        <function name="testFunc">
            <guids>
                <guid>#guid#</guid>
                <guid>#guid#</guid>
            </guids>
        </function>
    </service>
</request>

我有2个测试用例:

  1. 我想用一个GUID进行测试。
  2. 我想用2个Guid进行测试。

我为两个测试用例创建了2个单独的xml,并且都有效。 这里的问题是我如何使用通用XML? 我也尝试过使用remove,但是如何从xml中删除单个guid?

解决方法

空手道中有一种叫做“嵌入式表情”的东西。阅读文档:https://github.com/intuit/karate#embedded-expressions

示例:

* def guids = <guids><guid>one</guid><guid>two</guid></guids>
* def body = <root>#(guids)</root>

也请参考此文件,其中还有许多其他示例和XML数据驱动测试的想法:xml.feature