gpt4 book ai didi

java - Karate API 测试 - 使用 xml 而不是 json

转载 作者:行者123 更新时间:2023-11-30 07:52:35 26 4
gpt4 key购买 nike

我能够使用 json 文件在功能文件中解析我的凭据。例如:

 * def credentials = read('classpath:credentials.json')
* header Authorization = call read('classpath:basic-auth.js') { username: '#(credentials.user)', password: '#(credentials.pwd)' }

这是凭证 json 文件:

{
user: 'abc',
pwd: 'def'
}

但是,当我尝试改用 XML 文件时,我无法通过以下方式解析它:

凭证 xml 文件:

<?xml version="1.0" encoding="UTF-8" ?>
<credentials>
<user>abc</user>
<pwd>def</pwd>
</credentials>

我将特征文件更改为:

 * def credentials = read('classpath:credentials.xml')
* header Authorization = call read('classpath:basic-auth.js') { username: '#(<credentials><user></credentials>)', password: '#(<credentials><pwd></credentials>)' }

我是否需要对解析 xml 的方式进行任何更改?任何建议,将不胜感激。提前致谢!!

最佳答案

嵌入表达式必须使用“点符号”。好消息是它可以对 XML 进行操作,所以试试这个:

* def creds = read('classpath:credentials.xml')
* header Authorization = call read('classpath:basic-auth.js') { username: '#(creds.credentials.user)', password: '#(creds.credentials.pwd)' }

在 Karate 中,我建议尽可能坚持使用 JSON,除非您被迫使用 XML,因为您要重新使用项目外部的内容或测试 SOAP 或 XML 有效负载。但如果您真的要进行大量 XML 处理,请参阅 this set of examples的想法。

已编辑 - 因为我在表达式中遗漏了额外的 XML 根 credentials

关于java - Karate API 测试 - 使用 xml 而不是 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45695244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com