loadrunner上传和下载文件

(1)LoadRunner上传文件

         web_submit_data("importStudent.do",

                   "Action=https://testserver/console/importStudent.do",

                   "Method=POST",

                   "EncType=multipart/form-data",

                   "RecContentType=text/html",

                   "Referer=https://testserver/console/displayStudentList.do",

                   "Snapshot=t12.inf",

                   "Mode=HTTP",

                   ITEMDATA,

                   "Name=uploadFile", "Value=D://Excel//data161955.zip", "File=yes", ENDITEM,

                   LAST);

注:脚本录制使用Http/Html协议或Click and Script协议均可,以上是使用Http/Html录制的的脚本。需要特别注意的是,无论使用哪种协议录制,待上传的文件路径及文件名称只能为英文字符,而不能为中文字符。否则,可能将文件上传的二进制流同时录制到LR的脚本中。

这个问题同时也说明,LR对中文的支持还远不够。

下面是该应用更详细的示例。

Action()

{

         //定义double类型的变量trans_time,用来保存事务的执行时间。

         double trans_time;

         //定义int类型的变量status,用来保存事务执行的返回的值。

         int status;


lr_start_transaction("测试");

//使用内置函数lr_get_transaction_duration获取事务的执行时间。

         trans_time=lr_get_transaction_duration("测试");

         status=     web_submit_data("importStudent.do",

                                     "Action=https://testserver/console/importStudent.do",

                                     "Method=POST",

                                     "EncType=multipart/form-data",

                                     "RecContentType=text/html",

                   "Referer=https://testserver/console/displayStudentList.do",

                                     "Snapshot=t12.inf",

                                     "Mode=HTTP",

                                     ITEMDATA,

                                     "Name=uploadFile", "Value=E://datafile//data01.zip", "File=yes", ENDITEM,

                                     LAST);

         //增加手工事务,如果该测试事务执行返回值为0,则事务执行成功,否则执行失败。

         if (status == 0)

                   lr_end_transaction("测试", LR_PASS);

    else

                   lr_end_transaction("测试", LR_FAIL);


         //打印事务执行时间。

         if (trans_time)

                   lr_output_message("事务执行时间为:%f 秒",trans_time);   

    else

                   lr_output_message("事务执行时间未知!");


         return 0;

}

以下是LR的帮助文档中的web_submit_data函数的一个应用示例,从该示例中也可见一斑。

         web_submit_data("Attachments",

       "Action=http://barton.cottage@.Devonshire.uk/Attachments?YY=45434",

       "Method=POST",

       "EncType=multipart/form–data",

       "TargetFrame=",

       "RecContentType=text/html",

       "Referer=http:///barton.cottage@.Devonshire.uk/Compose?YY=20435",

       "Snapshot=t5.inf",

       "Mode=HTML",

       ITEMDATA,

           "Name=userFile0",

           "Value=E://sense_sensibility//Elinor.txt",

           "File=yes",

           "ContentType=text/html", // Override default "text/plain" for .txt files

       ENDITEM,

           "Name=userFile1",

           "Value=E://sense_sensibility//Marianne.jpg",

           "File=yes",

       ENDITEM,

       LAST);

(2)LoadRunner下载文件

Action()

{

       /*下载帮助文档*/

       //定义一个整型变量保存获得文件的大小

       int flen;

    //保存文件句柄

       long filedes;

    //保存文件路径及文件名

    char file[256]="/0";

       //定义一个随机数

    char * strNumber;

       //Returns the string argument after evaluating embedded parameters.

    strNumber=lr_eval_string("{RandomNum}");

       //将路径保存到file变量中

       strcat(file,"D://Excel//");

       //将获得的随机数拼接在file变量之后

    strcat(file,strNumber);

       //将下载的文件后缀名.rar拼接在file变量之后

    strcat(file,".rar");

       //到此为止一个LoadRunner已经获得了一个完整的文件名

       //设置参数的最大长度,注意该值必须大于文件的大小

       web_set_max_html_param_len("20000");

       //使用关联函数获取下载文件的内容,在这里不定义左右边界,获得服务器响应的所有内容

       web_reg_save_param("fcontent",

     "LB=",

     "RB=",

     "SEARCH=BODY",

     LAST);

       /*下载帮助文件*/

       lr_start_transaction("下载帮助文件"); 

       //发送下载帮助文件的请求

       web_url("DownLoadServlet",

              "URL=https://testserver3/servlet/DownLoadServlet?filename=help",

              "Resource=1",

              "RecContentType=application/x-msdownload",

              "Referer=",

              "Snapshot=t41.inf",

              LAST);

       //获取响应中的文件长度

       flen = web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

       if(flen > 0) 

       {

              //以写方式打开文件

              if((filedes = fopen(file, "wb")) == NULL)

              {

                     lr_output_message("打开文件失败!");

                     return -1;

              }

              //写入文件内容

              fwrite(lr_eval_string("{fcontent}"), flen, 1, filedes);

              //关闭文件

              fclose(filedes);

       }

       lr_end_transaction("下载帮助文件",LR_AUTO);

       return 0;

}

原文链接:http://www.51testing.com/html/18/106318-3704022.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容