LoadRunner 脚本编写_第1页
LoadRunner 脚本编写_第2页
LoadRunner 脚本编写_第3页
LoadRunner 脚本编写_第4页
LoadRunner 脚本编写_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LoadRunner脚本编写之一 对于编写loadrunner脚本的态度现在有一辆自行车放在你的面前,你为显示自己体力很好,每天走路去上班。我骑车只要半小时,而你走路却要2小时,我们的目的是一样的,你是为了让人说你牛呢,还是让人说你傻呢?当然自行车不是万能的,比如,上班的地点在山上,自行车跟本上不去,自然走路就是唯一的选择了。所以,对于loadrunner脚本,能录制的部分就录制改,不能录制的就手写,但前提是我们要会写脚本。认识loadrunner脚本Loadrunner自带了一个小飞机订票系统我们先启动StartWebserver服务,如果启动成功,桌面右下角会有一个绿色的X,然后打开浏览器访问:1080/WebTours/下面是我们loadrunner录制一个登录过程。Action() web_url(WebTours, URL=:1080/WebTours/, Resource=0, RecContentType=text/html, Referer=, Snapshot=t1.inf, Mode=HTML, LAST); lr_rendezvous(集合点); lr_start_transaction(登陆时间); web_submit_form(login.pl, Snapshot=t2.inf, ITEMDATA, Name=username, Value=test1, ENDITEM, Name=password, Value=123456, ENDITEM, Name=login.x, Value=59, ENDITEM, Name=login.y, Value=5, ENDITEM, LAST); lr_end_sub_transaction(登陆时间,LR_ABORT); return 0;上面的代码中有大括号“”,返回函数“return”,如果你有编程基础的不会说对于上面的代码一点都看不懂。只是上面的脚本没有使用我们平时用到的东西,如定义常量、变量,分支(if.elseif.)、循环语句(for.)下面我们动手写个小程序,一个乘法运算,求员工工资的总合。#define COUNT 100#define SALARY 4000Action() int total; total = COUNT * SALARY; lr_output_message(100人合计薪资支出为:%d,total); return 0 ;#defineCOUNT100#defineSALARY4000 定义一个全局常量。lr_output_message 输出语句,这个和我们所学的C语言不一样,在C中我们会用println来输入结果。运行结果:.Starting iteration 1.Starting action Action.Action.c(9): 100人合计薪资支出为:400000 -这里将运行结果打印输出Ending action Action.Ending iteration 1.一个有意思的小程序当然了,上面的程序太鸡肋了,我只是想表达,loadrunner也可以运行我们上学时学的那些普通的小程序。他们是一样一样的。下面看个比较有意思的小程序,通过随即数和分支(选择)语句switch来完成Action() int randomnumber; randomnumber = rand() % 3+1; switch (randomnumber) case 1: lr_rendezvous(访问百度集合点); web_url(, URL=/, Resource=0, RecContentType=text/html, Referer=, Snapshot=t12.inf, Mode=HTML, EXTRARES, Url=/r/www/img/i-1.0.0.png, ENDITEM, Url=/favicon.ico, Referer=, ENDITEM, Url=/r/www/img/bg-1.0.0.gif, ENDITEM, LAST); return 0; case 2: lr_rendezvous(访问谷歌集合点); web_url(.hk, URL=.hk/, Resource=0, RecContentType=text/html, Referer=, Snapshot=t10.inf, Mode=HTML, EXTRARES, Url=/gb/images/b_8d5afc09.png, ENDITEM, Url=/images/srpr/logo3w.png, ENDITEM, Url=/extern_chrome/749e1ce3c3e5f171.js, ENDITEM, Url=/images/swxa.gif, ENDITEM, Url=/favicon.ico, Referer=, ENDITEM, Url=/gb/js/sem_0e1289051da7e9e3697c2025d9490acd.js, ENDITEM, Url=/textinputassistant/tia.png, ENDITEM, LAST); return 0; case 3: lr_rendezvous(访问有道集合点); web_url(, URL=/, Resource=0, RecContentType=text/html, Referer=, Snapshot=t7.inf, Mode=HTML, EXTRARES, Url=/oxo/p/pic.gif, ENDITEM, Url=/oxo/p/logo.png?1, ENDITEM, Url=/oxo/p/nv_line.gif, ENDITEM, Url=/r/2.0/p/pic.gif, ENDITEM, LAST); return 0; 上面的程序,我分别录制了百度、谷歌、有道访问三个网的首页的代码,我想在运行脚本时,随机的去访问其中一个网站,如何做呢?我们通过随机函数,随机出13之间的整数,根据随机来的结果,然后执行switch语句中的代码。 下面来看我的结果为了查看脚本结果更清晰,我在每一段脚本前面加了一个集合点“lr_rendezvous”函数。Starting iteration 1.Starting action Action.Action.c(57): Rendezvous 访问有道集合点Action.c(59): Downloading resource /oxo/p/pic.gif (specified by argument number 9) MsgId: MMSG-26577Action.c(59): Downloading resource /oxo/p/logo.png?1 (specified by argument number 11) MsgId: MMSG-26577Action.c(59): Downloading resource /oxo/p/nv_line.gif (specified by argument number 13) MsgId: MMSG-26577Action.c(59): Downloading resource /r/2.0/p/pic.gif (specified by argument number 15) MsgId: MMSG-26577Action.c(59): Found resource /dao/search/outweb/js/yd.js?201207131 in HTML / MsgId: MMSG-26659Action.c(59): Found resource /dao/search/outweb/js/nav.js?201207131 in HTML / MsgId: MMSG-26659Action.c(59): Found resource /dao/search/outweb/js/suggest.js?201207131 in HTML / MsgId: MMSG-26659Action.c(59): web_url() was successful, 30006 body bytes, 3347 header bytes, 39 chunking overhead bytes MsgId: MMSG-26385Ending action Action.Ending iteration 1.通过脚本读取文件为了增加语言的强大,高级语言不可以把一个程序的实现从头到尾写到文件里,这样可读性和维护很差,也无法实现团队化,肯定会相互调用接口函数库等。当然,读取文件也是常用的操作,下面我们来看一个读取文件的例子。我们事先准备一个文件test.txt,里面随便你输入些什么内容吧!Action() int count,total=0; char buffer 50; long file_stream; char * filename = C:test.txt; /读取文件的存放位置 /判断是否可以读取文件 if(file_stream =fopen(filename,r)=NULL) lr_error_message(不能打开%s文件!,filename); return -1; while(!feof(file_stream) count=fread(buffer,sizeof(char),50,file_stream); /从文件中读取50个字符 total=total+count; /字符个数计数 if(total=50) fclose(file_stream); /关闭文件 lr_output_message(文件的前50字符:%s,buffer); break; /退出循环 return 0;上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论