无法使用 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)
.
我正在使用 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)
.