博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Loadrunner如何遍历一个页面中的url并进行访问?
阅读量:7101 次
发布时间:2019-06-28

本文共 2026 字,大约阅读时间需要 6 分钟。

最近在网上到一个关于loadrunner遍历一个页面中的url并进行访问脚本,就把它用我们自己的项目实践了一下,发现有一点不完善。

原始版本:

Action()

{
char temp[64];
int num = 0 ;
int i = 0 ;
char *str ;
// char *temp ;
//获取函数,是一个数组
web_reg_save_param(
“UrlList”,
“LB/ALNUMIC=<a href=\”",
“RB=\”",
“ORD=all”,
LAST);

web_url(“localhost”,

“URL=http://www.baidu.com”,
LAST);
//获取数据的长度
str = lr_eval_string(“{UrlList_count}”);
lr_error_message(“%s”,str);
num = atoi(str);

for(i=1;i<=num;i++){

//格式化输出
sprintf(temp,”{UrlList_%d}”,i);
//生成参数
lr_save_string(lr_eval_string(temp),”Turl”);
//判定URL 是否合法
if (strstr(lr_eval_string(temp),”http”)) {
web_url(“TESTER”,”URL={Turl}”, LAST);
}else
{
lr_error_message(“Url is not exits”);
}

}

return 0;
}

把上面的url改成我们自己的项目的时候,运行出现在了问题,我们的项目在页面里面的url都是写的相对路径,也就是没有前面的域名地址,这样的相对路径是不能被web_url函数访问,然后就是提示了一大片url无效。它不能访问也就是差一个域名地址,那我把每一个这样的相对地址加一个不就可以访问了吗?

我们页面访问使用的是session,所以里面的相对地址前面都是以session开头,所以我在原来的版本上面增加了两个步骤,第一个就是获取每一次访问的session,然后以它判断是否是没有域名开头的usl,是的,再给它把域名加上去再访问。

以下是我改版的:

Action()

{
 char    temp[64];
 int  num = 0;
 int  i = 0;
 char  *str;
 char fullurl[1024];

 //获取函数,是一个数组

 web_reg_save_param("UrlList","LB/ALNUMIC=<a href=\"",
        "RB=\"","ORD=all",
         LAST);

 //获取每一次访问生成的session,以便后面判断url

 web_reg_save_param("SessionID",
  "LB=Object moved to <a href=\"/",
  "RB=/\">here</a>",
  "Search=Body",
  LAST);

 web_url("localhost",

   "URL=http://xxx.xxxx.cn/",
   LAST);

 //获取数组的长度

 str=lr_eval_string("{UrlList_count}");
 lr_error_message("s%",str);
 num=atoi(str);

 for(i=3;i<=num;i++){

  //格式化输出

  sprintf(temp,"{UrlList_%d}",i);

  //生成参数

  lr_save_string(lr_eval_string(temp),"Turl");

        //判定url是否合法

        if(strstr(lr_eval_string(temp),"http")){

            web_url("TEST","URL={Turl}",LAST);

   
        }
  else if(strstr(lr_eval_string(temp),lr_eval_string("{SessionID}")))
  {
   //lr_error_message(lr_eval_string("{Turl}"));
   //完善url
   strcpy(fullurl,"");
   strcat (fullurl,lr_eval_string("{Turl}"));

   //生成新的url参数

   lr_save_string(fullurl,"url");
   web_url("Every","URL={url}",LAST);
  }
  else
        {
            lr_error_message("Url is not exits");
   lr_error_message(lr_eval_string("{Turl}"));
        }

 }

 return 0;
}

转载于:https://www.cnblogs.com/shengs/p/4452159.html

你可能感兴趣的文章
IntelliJ IDEA 使用心得与常用快捷键
查看>>
vivado设计四:自定义IP核测试
查看>>
洛谷P1887 乘积最大3
查看>>
C#设计模式之十八状态模式(State Pattern)【行为型】
查看>>
SpringCloud(一)浅谈SpringCloud
查看>>
spring getbean 方法分析(很实用!)
查看>>
Jquery autocomplete插件
查看>>
《老梁四大名著情商课》笔记- 刚上班,别做林黛玉,也别做孙悟空
查看>>
你真的了解分层架构吗?——写给被PetShop"毒害"的朋友们
查看>>
Asp.net 动态为TreeView创建结点
查看>>
dedecms 系统的 data/rssmap.html不存在!更新了也没有。。。
查看>>
博文共赏:Node.js静态文件服务器实战
查看>>
CS安装卸载测试总结(转)
查看>>
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现(推荐)
查看>>
iphone开发之轻松搞定原生socket 编程,阻塞与非阻塞,收发自如
查看>>
ColdFusion select option 用法,看看哪种适合你的
查看>>
Amazium - 响应式 CSS 框架 - 开源中国
查看>>
使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)
查看>>
iis7 发布mvc 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容...
查看>>
PHP通过Thrift操作Hbase
查看>>