无法使用 Rally ALM API 设置带有 XML 标签的测试用例描述

Unable to set TestCase description with XML tags using Rally ALM API

我正在使用 Rally ALM Java SDK 以编程方式创建测试用例。我创建的 JSON 对象具有 XML 标记作为测试用例描述字符串。

{
    "Name": "Test",
    "Description": "Should process <MyTag name=\"abc\">XYZ</MyTag>",
    "TestFolder": "https://rally1.rallydev.com/slm/webservice/v2.0/testfolder/123",
    "Type": "Functional",
    "Method": "Automated",
    "Priority": "Useful",
    "Owner": "X",
    "Project": "https://rally1.rallydev.com/slm/webservice/v2.0/project/456"
}

现在在 Rally SDK 代码中,GSON 构建器(escapeHtmlChars 属性 设置为 true)创建此对象的字符串表示形式,将其更改为:

{
    "TestCase": {
        "Name": "Test",
        "Description": "Should process \u003cMyTag name\u003d\"abc\"\u003eXYZ\u003c/MyTag\u003e",
        "TestFolder": "https://rally1.rallydev.com/slm/webservice/v2.0/testfolder/A",
        "Type": "Functional",
        "Method": "Automated",
        "Priority": "Useful",
        "Owner": "X",
        "Project": "https://rally1.rallydev.com/slm/webservice/v2.0/project/B"
    }
}

最后,当请求得到处理时,自定义标签不会出现在测试用例描述中。只是Should process XYZ。有办法解决这个问题吗?

能够解决 XML 转义字符的问题,有一个 Apache 实用程序 (commons-text) 可以帮助实现这一点:org.apache.commons.text.StringEscapeUtils.escapeXml11(xmlString).