zoukankan      html  css  js  c++  java
  • Loadrunner如何遍历一个页面中的url并进行访问?

    最近在网上到一个关于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,"http://xxx.xxxx.cn/");
       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;
    }

  • 相关阅读:
    P1440 求m区间内的最小值
    P1569 Generic Cow Protests
    P3252 [JLOI2012]树
    P3009 [USACO11JAN]Profits S
    <二分查找+双指针+前缀和>解决子数组和排序后的区间和
    常见算法技巧之——双指针思想
    设计模式——单例模式
    操作系统实验——读者写者模型(写优先)
    操作系统——内存管理学习笔记
    Altium Designer 16下载与安装教程
  • 原文地址:https://www.cnblogs.com/shengs/p/4452159.html
Copyright © 2011-2022 走看看