rest-assured的xmlPath使用方法总结

xmlPath的使用方法跟JsonPath的使用方法相近,下面简单总结一下:

准备xml文件数据:

 1 <records>
 2    <car name='HSV Maloo' make='Holden' year='2006'>
 3      <country>Australia</country>
 4      <record type='speed'>Pickup Truck with speed of 271kph</record>
 5    </car>
 6    <car name='P50' make='Peel' year='1962'>
 7      <country>Isle of Man</country>
 8      <record type='size'>Street-Legal Car at 99cm wide, 59kg</record>
 9    </car>
10    <car name='Royale' make='Bugatti' year='1929'>
11      <country>France</country>
12      <record type='price'>Most Valuable Car at $15 million</record>
13    </car>
14 </records>

下面我们使用rest-assured的xmlPath来简单的提取一些值:

 1 //recordsXml代表xml文件数据
 2 XmlPath xmlPath = new XmlPath(recordsXml);
 3 //设置根路径
 4 xmlPath.setRoot("records");
 5 
 6 //获取第一个car的name属性
 7 String nameOfFirstCar = xmlPath.get("car[0].@name");
 8 // 获取最后一个car的country属性
 9 String nameOfCountryForLastCar = xmlPath.get("car[-1].country");
10 // 获取前两个记录的年份,作为一个list(使用ints)
11 List<string> years = xmlPath.getList("car[0..1].@year", Integer.class);

与JsonPath一样,xmlPath同样支持简单提取某个值:

1 // "from"从XmlPath中静态导入
2 String firstCarName = from(recordXml).get("records.car[0].@name");

你也可以做一些复杂点的操作,比如以int的形式获取第一条记录的年份:

1 // Year is 1929
2 int year = from(recordXml).
3     getInt("records.car.@year.list()*.toInteger().min()");

我们首先将所有year属性转换为一个list,list中的所有元素都调用toInteger() 方法(这需要year属性在xml文档中以String类型展示),然后调用min()方法,返回list中的最小元素:1929

转载于:https://www.cnblogs.com/lwjnicole/p/8270277.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值