51Testing软件测试论坛

标题: loadrunner录制下载回放时错误 [打印本页]

作者: levin    时间: 2009-4-27 17:25
标题: loadrunner录制下载回放时错误
loadrunner采用web/http协议,录制页面中一个下载功能,模拟完成后,回放时,无法下载文件,该怎么处理呢?
作者: 云层    时间: 2009-4-27 17:35
文件下载的录制肯定是不成功的,因为下载的操作无法录制到,需要专门写函数来处理
ps,没必要做下载的性能测试
作者: Zee    时间: 2009-4-27 19:49
一个实例:
  1.    1. Action()
  2.    2. {
  3.    3.     int flen;
  4.    4.     long filedes;
  5.    5.     char filename[1024];   
  6.    6.

  7.    7.     web_add_cookie("seraph.os.cookie=ElKlHkQmJlOkFjGjJi; DOMAIN=172.20.16.4");
  8.    8.

  9.    9.     web_set_max_html_param_len("1024000");   
  10.   10.     web_url("172.20.16.4:8080",
  11.   11.         "URL=http://172.20.16.4:8080/",
  12.   12.         "Resource=0",
  13.   13.         "RecContentType=text/html",
  14.   14.         "Referer=",
  15.   15.         "Snapshot=t4.inf",
  16.   16.         "Mode=HTML",
  17.   17.         EXTRARES,
  18.   18.         "Url=/styles/global.css", "Referer=http://172.20.16.4:8080/secure/Dashboard.jspa", ENDITEM,
  19.   19.         LAST);
  20.   20.

  21.   21.     web_link("TEST-306",
  22.   22.         "Text=TEST-306",
  23.   23.         "Snapshot=t5.inf",
  24.   24.         EXTRARES,
  25.   25.         "Url=../styles/global.css", ENDITEM,
  26.   26.         LAST);   
  27.   27.   
  28.   28.   web_reg_save_param("fcontent", "LB=", "RB=", "SEARCH=BODY", LAST);
  29.   29.     web_link("test.xml",
  30.   30.         "Text=test.xml",
  31.   31.         "Snapshot=t6.inf",
  32.   32.         LAST);
  33.   33.   
  34.   34.     //获取文本类型的文件大小
  35.   35.     flen = strlen(lr_eval_string("{fcontent}"));
  36.   36.     //获取二进制文件类型的文件大小
  37.   37.     //flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);   
  38.   38.     lr_message("-----------------flen:%d",flen);
  39.   39.   
  40.   40.     //生成随机的文件名称,便于并发
  41.   41.     strcpy(filename,"d:\\123\\aa_");
  42.   42.   strcat(filename,lr_eval_string("{Num}"));
  43.   43.     strcat(filename,".xml");
  44.   44.   
  45.   45.     if(flen > 0)   
  46.   46.     {
  47.   47.         //以写方式打开文件
  48.   48.         if((filedes = fopen(filename, "wb")) == NULL)
  49.   49.         {
  50.   50.             lr_output_message("Open File Failed!");
  51.   51.             return -1;
  52.   52.         }
  53.   53.         //写入文件内容
  54.   54.         fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);
  55.   55.         //关闭文件
  56.   56.         fclose(filedes);
  57.   57.     }
  58.   58.

  59.   59.     return 0;
  60.   60. }
复制代码

作者: levin    时间: 2009-4-28 13:50
哇,还没有尝试,先谢谢两位

作者: aman_cao    时间: 2009-4-28 14:27
思路如下:

1.设置接收大小,单位是character

2.保存要接收的内容到参数,后面文件存储的内容来源于这个参数信息

3.获取要下载文件的大小

4.使用fopen(*filename,mode) open a file for buffer I/O,注意,返回值是long类型,请参考帮助文档

5.写文件

6.关闭文件流。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2