XML 中是否允许使用空手道框架使用多行字符串?
Are multi-line strings allowed in XML using karate framework?
我有 2 个文件:
- 第一个是包含多行的文本文件:
And def txtContent = read(path-to-text-file)
txtContent为多行字符串,如:
1a
2b
3c
- 第二个是 xml 文件包含请求模板:
<customizedTag>
<time>#(send_time)<time>
<bodyData>#(txtContent)</bodyData>
</customizedTag>
当运行以下步骤构建body请求时,格式错误,如下:
And def send_time = LocalDateTime.now() + ''
And def txtContent = read(path-to-text-file)
And def buildBodyRequest = read(path-to-xml-template-file)
* print buildBodyRequest
buildBodyRequest 的输出与:
<customizedTag>
<time>2022-05-01T12:56:45.324104300<time>
<bodyData>1a
2b
3c</bodyData>
</customizedTag>
body请求中出现特殊字符串
,make请求格式错误
如果你知道如何在空手道中 remove/replace 正文请求中的特殊字符串
,请帮助我?谢谢!
我的预期是:
<customizedTag>
<time>2022-05-01T12:56:45.324104300<time>
<bodyData>1a
2b
3c</bodyData>
</customizedTag>
The special string
appeared in the body request and its make request is wrong format.
在Windows文本文件中,换行符由两个字符组成,回车return(CR,字符代码13)和换行符(LF,字符代码10)。这种组合通常称为 CRLF。
这里的
代表 CR,但 LF 也在那里 - 这就是导致线条在视觉上中断的原因:
<customizedTag>
<time>2022-05-01T12:56:45.324104300</time>
<bodyData>1a
2b
3c</bodyData>
</customizedTag>
解析此 XML 后,
将被转换回 CR,这意味着 <bodyText>
将包含与您的文本文件完全相同的内容。
所以从技术上讲,没有错。一切都按预期工作,你真的不应该有任何问题。 (这很重要。 你需要弄清楚
给你带来问题的原因,你最好修复 那个,而不是“修复”XML,因为 XML 没有损坏。)
但是如果出于某种原因您不喜欢
出现在您的 XML 中,您必须更改您的源文本文件。在适当的文本编辑器中打开它(即 not Windows 记事本),将行结束类型更改为 Linux(只是 LF,没有 CR),然后保存它。
在这两种情况下,<bodyText>
的内容将与其来源的文本文件完全相同。
我有 2 个文件:
- 第一个是包含多行的文本文件:
And def txtContent = read(path-to-text-file)
txtContent为多行字符串,如:
1a
2b
3c
- 第二个是 xml 文件包含请求模板:
<customizedTag>
<time>#(send_time)<time>
<bodyData>#(txtContent)</bodyData>
</customizedTag>
当运行以下步骤构建body请求时,格式错误,如下:
And def send_time = LocalDateTime.now() + ''
And def txtContent = read(path-to-text-file)
And def buildBodyRequest = read(path-to-xml-template-file)
* print buildBodyRequest
buildBodyRequest 的输出与:
<customizedTag>
<time>2022-05-01T12:56:45.324104300<time>
<bodyData>1a
2b
3c</bodyData>
</customizedTag>
body请求中出现特殊字符串
,make请求格式错误
如果你知道如何在空手道中 remove/replace 正文请求中的特殊字符串
,请帮助我?谢谢!
我的预期是:
<customizedTag>
<time>2022-05-01T12:56:45.324104300<time>
<bodyData>1a
2b
3c</bodyData>
</customizedTag>
The special string appeared in the body request and its make request is wrong format.
在Windows文本文件中,换行符由两个字符组成,回车return(CR,字符代码13)和换行符(LF,字符代码10)。这种组合通常称为 CRLF。
这里的
代表 CR,但 LF 也在那里 - 这就是导致线条在视觉上中断的原因:
<customizedTag>
<time>2022-05-01T12:56:45.324104300</time>
<bodyData>1a
2b
3c</bodyData>
</customizedTag>
解析此 XML 后,
将被转换回 CR,这意味着 <bodyText>
将包含与您的文本文件完全相同的内容。
所以从技术上讲,没有错。一切都按预期工作,你真的不应该有任何问题。 (这很重要。 你需要弄清楚
给你带来问题的原因,你最好修复 那个,而不是“修复”XML,因为 XML 没有损坏。)
但是如果出于某种原因您不喜欢
出现在您的 XML 中,您必须更改您的源文本文件。在适当的文本编辑器中打开它(即 not Windows 记事本),将行结束类型更改为 Linux(只是 LF,没有 CR),然后保存它。
在这两种情况下,<bodyText>
的内容将与其来源的文本文件完全相同。