




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LoadRunner脚本编写之一2012-07-15 15:07 by 虫师, 11248 阅读, 4 评论, 收藏, 编辑 性能测试工程师要懂代码么?答案是必须的。好多测试员认为在loadrunner中编写脚本很难很牛X ,主要是大多测试人员并未做过开发工作,大学的那点程序基础也忘记的差不多了。还有非计算机专业出身的测试员,所以对代码望都比较望而生畏。好多人认为loadrunner只支持C语言(包括我之前也一直这么认为),因为loadrunner默认的脚本是C语言的,其实它支持目前所有主流的语言,如:Java
2、160;User、VB User、VB script User 、Javascript User、Mmicrosoft .NET等,总有一款适合你的吧,最起码C语言是必修课吧。 对于编写loadrunner脚本的态度现在有一辆自行车放在你的面前,你为显示自己体力很好,每天走路去上班。我骑车只要半小时,而你走路却要2小时,我们的目的是一样的,你是为了让人说你牛呢,还是让人说你傻呢?当然自行车不是万能的,比如,上班的地点在山上,自行车跟本上不去,自然走路就是唯一的选择了。所以,对于loadrunner脚本,能录制的部分就录制改,
3、不能录制的就手写,但前提是我们要会写脚本。 认识loadrunner脚本Loadrunner自带了一个小飞机订票系统 我们先启动 Start Web server 服务,如果启动成功,桌面右下角会有一个绿色的X ,然后打开浏览器访问 :1080/WebTours/下面是我们loadrunner录制一个登录过程。 Action() web_url("WebTours", "URL=:1080/WebTour
4、s/", "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
5、, "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); retu
6、rn 0;上面的代码中有大括号“”,返回函数“ return ”,如果你有编程基础的不会说对于上面的代码一点都看不懂。只是上面的脚本没有使用我们平时用到的东西,如定义常量、变量,分支(if.else if.)、循环语句(for.) 下面我们动手写个小程序,一个乘法运算,求员工工资的总合。 #define COUNT 100#define SALARY 4000Action() int total; total = COUNT * SALARY; lr_output_message("100人合计薪资支出为:%d",total
7、); return 0 ;#define COUNT 100#define SALARY 4000 定义一个全局常量。lr_output_message 输出语句,这个和我们所学的C 语言不一样,在C中我们会用println 来输入结果。运行结果:.Starting iteration 1.Starting action Action.Action.c(9): 100人合计薪资支出为:400000 -这里将运行结果打印输出Ending action A
8、ction.Ending iteration 1. 一个有意思的小程序 当然了,上面的程序太鸡肋了,我只是想表达,loadr
9、unner 也可以运行我们上学时学的那些普通的小程序。他们是一样一样的。 下面看个比较有意思的小程序,通过随即数和分支(选择)语句switch来完成 Action() int randomnumber; randomnumber = rand() % 3+1; switch (randomnumber) case 1: lr_rendezvous("访问百度集合点"); web_url("", "URL= "Resource=0", "RecContentType=text/html&
10、quot;, "Referer=", "Snapshot=t12.inf", "Mode=HTML", EXTRARES, "Url= ENDITEM, "Url=/favicon.ico", "Referer=", ENDITEM, "Url= ENDITEM, LAST); return 0; case 2: lr_rendezvous("访问谷歌集合点"); web_url(".hk", "URL=.hk/",
11、 "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t10.inf", "Mode=HTML", EXTRARES, "Url= ENDITEM, "Url=/images/srpr/logo3w.png", ENDITEM, "Url=/extern_chrome/749e1ce3c3e5f171.js", ENDITEM, "Url=/images/swx
12、a.gif", ENDITEM, "Url=/favicon.ico", "Referer=", ENDITEM, "Url= ENDITEM, "Url= ENDITEM, LAST); return 0; case 3: lr_rendezvous("访问有道集合点"); web_url("", "URL= "Resource=0", "RecContentType=text/html", "Referer=",
13、 "Snapshot=t7.inf", "Mode=HTML", EXTRARES, "Url= ENDITEM, "Url= ENDITEM, "Url= ENDITEM, "Url= ENDITEM, LAST); return 0; 上面的程序,我分别录制了百度、谷歌、有道访问三个网的首页的代码,我想在运行脚本时,随机的去访问其中一个网站,如何做呢?我们通过随机函数,随机出13之间的整数,根据随机来的结果,然后执行switch语句中的代码。
14、160; 下面来看我的结果 为了查看脚本结果更清晰,我在每一段脚本前面加了一个集合点“lr_rendezvous”函数。 Starting iteration 1.Starting action Action.Action.c(57): Rendezvous 访问有道集合点Action.c(59): Downloading resource " (specified by argument number 9) MsgId: MMSG-26577Action.c(59): Downloading resource " (specif
15、ied by argument number 11) MsgId: MMSG-26577Action.c(59): Downloading resource " (specified by argument number 13) MsgId: MMSG-26577Action.c(59): Downloading resource " (specified by argument number 15) MsgId: MMSG-26577Action.c(59): Found resource " in HTML " MsgId: MMSG-26659Ac
16、tion.c(59): Found resource " in HTML " MsgId: MMSG-26659Action.c(59): Found resource " 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 itera
17、tion 1. 通过脚本读取文件
18、60;为了增加语言的强大,高级语言不可以把一个程序的实现从头到尾写到文件里,这样可读性和维护很差,也无法实现团队发,肯定会相互调用接口函数库等。当然,读取文件也是常用的操作,下面我们来看一个读取文件的例子。 我们事先准备一个文件test.txt ,里面随便你输入些什么内容吧! Action() int count,total=0; char buffer 50; long file_stream; char * filename = "C:test.txt" /读取文件的存放位置 /判断是否可以读取文件 if(file_stream =fopen(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论