停止更新,敏捷测试及TestOps解决体系,关注订阅号TestOps

特殊一点的XML处理情况

上一篇 / 下一篇  2013-03-07 09:32:21 / 个人分类:《性能测试进阶指南》专栏

  在书中关于xml的处理我介绍过如果使用lr_xml_extract函数的Query+selectALL来返回每个子节点,然后对子节点的 xml再使用lr_xml_get_values分离的模式来动态获取某一个xml节点下的子属性。
  但是在某些特殊的情况下,分离出来的xml不太普通,也许包含了类似<a nis:abcd bcd>abcd</a>这种类似带命名空间结构的情况,这个时候你再使用lr_xml_get_values去分离就会没有查询地址的问题,那么这里说一下换一个方法来解决这个情况。
  1.通过lr_xml_extract函数获得匹配条件的记录个数保存到变量
     i=lr_xml_extract(.....)
  2.随机取一个下标值
     randno=rand()%i+1;
  3.拼接查询地址值
     sprintf(xmlquery,"\title\nodes\node[%d]\proa",randno);
     lr_save_string(xmlquery,"temp")
  4.通过这个动态的地址值取得对应的xml节点属性
     lr_xml_get_values(......,query={temp},......);
51Testing软件测试网#I!r6H RU.K
这样就可以实现带命名空间的xml随即选择节点属性的效果了。

TAG:

 

评分:0

我来说两句

Open Toolbar