三思而后行

发布新日志

  • Loadrunner 下载文件到本地

    2009-05-05 17:33:03

    背景:

    因为要将bug的附件从一个bugzilla系统转移到另外一个bugzilla系统,因此会出现如下场景:

    当点击页面上的链接的时候,会打开一个网页,或者会弹出保存对话框,下面是将这页面的内容保存到本地的方式。

    参考书《软件性能测试与loadRunner实战》

    实现原理:对HTTP协议来说,无论是下载文件或者请求页面,都只是发出一个GET请求,Loadrunner记录了客户端发出的对文件的请求,并能够收到文件内容。因此可以通过loadrunner的文件操作方法,自行生成文件。fopen,fwrite,fclose。

    实现方式:将如下代码加入action中即可

    int flen; //文件大小

    long lfbody; //相应数据内容大小

    web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=BODY", LAST);
    filename=lr_eval_string("{FilePath}");
    web_link("附件名称",
      "Text=附件名称",
      "Snapshot=t3.inf",
      LAST);
    flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);     
    if (flen >0 )
      {
        if((lfbody = fopen(filename, "wb")) == NULL)
                  {
                         lr_output_message("文件操作失败!");
                         return -1;
                  }
        fwrite(lr_eval_string("{fcontent}"), flen, 1, lfbody);
        fclose(lfbody);
       }

     

    后记:若要实现将bug的转移,可以通过直接对数据库进行操作来实现完全自动化。

     

Open Toolbar