51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10658|回复: 26
打印 上一主题 下一主题

[原创] loadrunner脚本实现附件的上传下载

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-4-25 16:13:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 神樂 于 2012-4-25 16:15 编辑

坛里有很多人都碰到过这个问题,研究了一天了,还是没有实现图片等的上传下载、用web_custom_request实现了txt的上传。
录制上传图片等时,body是乱码,不能识别,不知道怎么处理了。
看了别人说用web_submit_data,尝试了,脚本不报错,但是到系统里看时,没有该附件。
然后我回头,想用web_submit_data实现txt文件的上传,发现也一直不能实现。
ps:我录制出来,一个上传动作,分成了四个函数实现。

  1. web_submit_data("UpLoad.ashx",
  2.                 "Action=../View/bgyy/xzq/UpLoad.ashx?typepath=/Files/FileUpload/{fileguid}",
  3.                 "Method=POST",
  4.                 "RecContentType=text/html",
  5.                 "Referer=.../ClientBin/Dwkj.Common.Control.FileUploadSilverlight.xap?r={time}",
  6.                 "Snapshot=t5.inf",
  7.                 "Mode=HTML",
  8.                 ITEMDATA,
  9.                 "Name=type", "Value=6", ENDITEM,
  10.                 "Name=maxfile", "Value=20", ENDITEM,
  11.                 LAST);

  12.         web_submit_data("UpLoad.ashx_2",
  13.                 "Action=.../View/bgyy/xzq/UpLoad.ashx?typepath=/Files/FileUpload/{fileguid}",
  14.                 "Method=POST",
  15.                 "RecContentType=text/html",
  16.                 "Referer=.../ClientBin/Dwkj.Common.Control.FileUploadSilverlight.xap?r={time}",
  17.                 "Snapshot=t6.inf",
  18.                 "Mode=HTML",
  19.                 ITEMDATA,
  20.                 "Name=type", "Value=1", ENDITEM,
  21.                 "Name=filename", "Value=1.txt", ENDITEM,
  22.                 "Name=md5", "Value=EB61EEAD90E3B899C6BCBE27AC581660", ENDITEM,
  23.                 LAST);

  24.         web_custom_request("UpLoad.ashx_3",
  25.                 "URL=../View/bgyy/xzq/UpLoad.ashx?typepath=/Files/FileUpload/{fileguid}&type=2&md5=EB61EEAD90E3B899C6BCBE27AC581660&index=0",
  26.                 "Method=POST",
  27.                 "Resource=0",
  28.                 "RecContentType=text/html",
  29.                 "Referer=.../ClientBin/Dwkj.Common.Control.FileUploadSilverlight.xap?r={time}",
  30.                 "Snapshot=t7.inf",
  31.                 "Mode=HTML",
  32.                 "EncType=multipart/form-data",
  33.                 "Body=HELLO",
  34.                 LAST);

  35.         web_submit_data("UpLoad.ashx_4",
  36.                 "Action=.../View/bgyy/xzq/UpLoad.ashx?typepath=/Files/FileUpload/{fileguid}",
  37.                 "Method=POST",
  38.                 "RecContentType=text/html",
  39.                 "Referer=.../ClientBin/Dwkj.Common.Control.FileUploadSilverlight.xap?r={time}",
  40.                 "Snapshot=t8.inf",
  41.                 "Mode=HTML",
  42.                 ITEMDATA,
  43.                 "Name=type", "Value=3", ENDITEM,
  44.                 "Name=md5", "Value=EB61EEAD90E3B899C6BCBE27AC581660", ENDITEM,
  45.                 "Name=filename", "Value=1.txt", ENDITEM,
  46.                 LAST);
复制代码



大括号里的是我手动关联的。
介于上面的代码,我要怎么修改实现图片、word、zip等文件的上传啊?
菜菜鸟求助啊!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

27#
 楼主| 发表于 2012-5-28 15:20:03 | 只看该作者
回复 26# 云层


    额。好吧,只要上传成功,对服务器造成压力就行,是吧
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2012-5-19 11:46:07 | 只看该作者
既然知道是文件过大的问题,那么你传小文件好了
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2012-5-19 11:29:04 | 只看该作者
不错,学习中
回复 支持 反对

使用道具 举报

该用户从未签到

24#
 楼主| 发表于 2012-5-16 09:56:54 | 只看该作者
还是解决不了。使用云层老师说的用本地文件路径的方法,运行后在列表页有该文件名,点击下载时内容为空。。。。
我们的系统,当附件过大时,是通过分割的方式一部分一部分往上传的。所以好像只能通过获取上传内容正文的方式。。
求大侠指点啊。。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-1-6 13:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    23#
    发表于 2012-5-9 08:45:55 | 只看该作者
    学习了。。。。谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
    发表于 2012-5-7 10:10:03 | 只看该作者



    用云层介绍的方法,LR11试验成功。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
    发表于 2012-5-7 08:45:06 | 只看该作者
    帮忙顶一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2012-5-4 15:54:27 | 只看该作者
    回复 16# cu_zhuang


        下来学习下看看再说
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2012-5-4 15:53:56 | 只看该作者
    回复 18# Donly


        嗯能录制,我们的系统用md5校验了,不知道要怎么手动修改了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2012-5-4 15:50:26 | 只看该作者
    BS界面的上传文件,不是可以直接录制到么?不是只要指定本地文件路径,就可以上传了吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2012-5-4 15:40:18 | 只看该作者
    回复 14# edisonzhang


        暂时还没有。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2012-5-4 11:35:28 | 只看该作者
    int flen;//文件大小
    long filedes;//响应数据内容大小
    char filename[1024];//文件名

    web_url("www.51testing.com",
      "URL=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709",
      "TargetFrame=",
      "Resource=0",
      "RecContentType=text/html",
      "Referer=",
      "Snapshot=t1.inf",
      "Mode=HTML",
      EXTRARES,
      "Url=/images/bw10/bg.jpg", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/bw10/top.jpg", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/rate_star.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/bw10/title2.jpg", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/icon_ctrl.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/icon_add.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/bw10/leftbg.jpg", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/icon_copy.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/icon_bbs.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/icon_add_fri.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/icon_sendm.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/icon_profile.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/toolbar_showbtn.gif", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/bw10/buttom.jpg", "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709", ENDITEM,
      "Url=/images/base/toolbar_bg.gif", "Referer=http://www.51testing.com/batch.toolbar.php", ENDITEM,
      "Url=/images/base/toolbar_line.gif", "Referer=http://www.51testing.com/batch.toolbar.php", ENDITEM,
      "Url=/images/base/toolbar_icon_login.gif", "Referer=http://www.51testing.com/batch.toolbar.php", ENDITEM,
      LAST);
    DOMAIN=files.cnblogs.com");
    lr_think_time(11);
    web_set_max_html_param_len("1024000"); //设置页面接受最大的字节数,该设置应大于下载文件的大小
    //将响应信息存放到fcontent变量
    web_reg_save_param("fcontent",
      "LB=",
      "RB=",
      "Ord=1",
      "Search=Body",
      LAST);
    web_url("???",
      "URL=http://files.cnblogs.com/guanhe/downloadfile.rar",
      "TargetFrame=",
      "Resource=0",
      "RecContentType=application/octet-stream",
      "Referer=http://www.51testing.com/?uid-128655-action-viewspace-itemid-92709",
      "Snapshot=t2.inf",
      "Mode=HTML",
      LAST);
    //获取响应的全部内容,作为文件内容保存
    flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);
    //生成随机的文件名称,便于并发
        strcpy(filename,"d:\\aa_");
    strcat(filename,lr_eval_string("{Num}"));
        strcat(filename,".rar");
    if(flen > 0)
    {
      //以写方式打开文件
      if((filedes = fopen(filename, "wb")) == NULL)
      {
       lr_output_message("Open File Failed!");
       return -1;
      }
      //写入文件内容
      fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);
      //关闭文件
      fclose(filedes);
    }
    return 0;
    脚本和PDF

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2012-5-4 11:28:26 | 只看该作者
    FTP上传文件
    Action()
    {
    //建立一个有效的FTP连接,Administrator为用户名,stone为密码
    //10.10.10.130为FTP服务器地址
    FTP ftp1;
    ftp_logon_ex(&ftp1,"FtpLogon",
    "URL=ftp://Administrator:stone@10.10.10.130",
    LAST);


       
    lr_rendezvous("集合点");


    lr_start_transaction("文件上传事物");


    //上传文件到FTP服务器的根目录
    ftp_put_ex(&ftp1,"FtpPut",
      "SOURCE_PATH=c:\hao_zip.zip",
      "TARGET_PATH=\\ftp\c:\hao_zip.zip","PASSIVE=TRUE",
      ENDITEM,
      LAST);


    lr_end_transaction("文件上传事物", LR_AUTO);


    //释放FTP连接
    ftp_logout_ex(&ftp1);


    return 0;
    }
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2012-5-4 09:03:22 | 只看该作者
    如果有外网环境,我可以试一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2012-4-27 09:36:05 | 只看该作者
    回复 11# edisonzhang


        应该是根据文件内容,我尝试上传一个名称相同,内容不同的txt文件,MD5值不变,上传失败
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2012-4-26 18:04:59 | 只看该作者
    帮顶~~~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2012-4-26 17:18:00 | 只看该作者
    MD5应该是你上传的时候 根据照片用户名生成的吧
    找不到吗? 问一下开发
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2012-4-26 13:20:52 | 只看该作者
    回复 7# hclovezz1314


        是bs的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2012-4-26 13:20:41 | 只看该作者
    回复 8# 云层


        我想把图片等文件用base64解码,可是lr11不支持。然后看网上的用地址,也不合适,我们的系统上传文件不看地址,是用md5校验的。真心找不到思路了。。。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-27 07:26 , Processed in 0.080138 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表