51Testing丛书:性能测试进阶指南—LoadRunner 11实战(8)

发表于:2012-5-15 11:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈霁    来源:51Testing软件测试网原创

  在这个代码中我们需要关联的正文是admin,验证的部分在于<em>0</em>,这里的0代表没有回复,后面的2代表两次阅读。关联的难度在于如果用回帖数作为左边界那么右边界中的阅读数是动态数据。如果用回帖数作为右边界那么左边界中的发帖时间和用户uid是动态数据,导致这个关联在以前的写法中很难实现,必须要扩展关联后使用strtok来分离。现在使用正则表达式关联这个问题就非常简单了,代码如下:

web_reg_save_param_regexp(

"ParamName=temp",

"RegExp=<em>0</em>.*\r\n.*username=(.*)\">.*</a><p>",

"Ordinal=1",

SEARCH_FILTERS,

LAST);

  这里的过滤方式是使用<em>0</em>作为左边界然后拼接任意内容接回车换行符,再接任意字符至username=处,关联这串内容的右侧到">位置后面接任意字符,再接</a><p>。通过这个关联就可以得到未回帖的发帖人名了,另外一种使用回帖数为0作为右边界的写法为:

web_reg_save_param_regexp(

  "ParamName=temp",

  "RegExp=uid=.*\">(.*)</a><p>.*\r\n.*<em>0</em>",

  "Ordinal=1",

  SEARCH_FILTERS,

  LAST);

  刚开始写的时候大家会困惑在正则表达式的编写上,多多尝试(注意\r\n\b回车符、换行符及空格这是开始最难处理的东西),并且合理应用常见的正则表达式验证工具,就可以逐渐上手,成为你关联应用时的神器。

  如果想要获得一个没有回复帖子的帖子编号,正则表达式为:

web_reg_save_param_regexp(

"ParamName=topicid",

"RegExp=ajax_(.*)\" class.*\r\n.*\r\n.*\r\n.*<em>0</em>",

"Ordinal=1",

SEARCH_FILTERS,

LAST);

  换成strtok的写法那么就要这样写了:

char tokstr[2000];

extern char * strtok(char * string, const char * delimiters ); 

char * token;

web_reg_save_param("string",

"LB=a_ajax_",

"RB=<em>0</em>",

"Ord=1",

"Search=NoResource",

LAST);

//请求部分略

strcpy(tokstr,lr_eval_string("{string}"));

token = (char *)strtok(tokstr,"\""); 

lr_output_message(token);//输出处理后得到的帖子编号

(未完,精彩待续)

连载一        连载二        连载三        连载四        连载五        连载六        连载七

本文选自《51Testing软件测试作品系列》之十——《性能测试进阶指南——LoadRunner11实战》

本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!

版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。

任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

相关阅读:

查看本书介绍>>

查看软件测试作品系列其他书籍>>

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号