如何在Karate特性文件中将CSV中的\n转为实际换行?
解决CSV转义换行转换为实际换行并调整缩进的方法
可以通过Karate内置的字符串处理和对象操作实现需求,直接修改Feature文件即可:
修改后的Feature场景代码
* def data = <Data> * def processedData = karate.map(data, function(item) { item.label = item.label.replace('\n', '\n '); return item; }) And set body | path | values | | DataFromCSV | #(processedData) | * print body
代码说明
- 先将CSV读取的
<Data>赋值给变量data - 用
karate.map遍历数据数组,对每个元素的label字段做字符串替换:把转义的\n替换成\n(实际换行加6个空格,匹配你要的缩进格式) - 把处理后的
processedData赋值给请求体的DataFromCSV字段 - 打印输出就能得到期望的格式
补充:移除HTML标签(可选)
如果CSV原始数据里的<strong>标签不需要保留,可以在替换换行时一并移除:
* def processedData = karate.map(data, function(item) { item.label = item.label.replace('<strong>', '').replace('</strong>', '').replace('\n', '\n '); return item; })
内容的提问来源于stack exchange,提问作者Shreyansh Jain
相关产品推荐
相关产品推荐

