2

我可以使用 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 的方式进行任何更改?任何建议,将不胜感激。提前致谢!!

4

1 回答 1

3

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

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

在空手道中,我建议尽可能坚持使用 JSON,除非您被迫使用 XML,因为您正在重用项目外部的东西或测试 SOAP 或 XML 有效负载。但是,如果您确实在进行大量 XML 处理,请参阅这组示例以获取想法。

已编辑 - 因为我错过了credentials表达式中额外的 XML 根。

于 2017-08-15T16:22:49.557 回答