loadrunner录制脚本什么脚本语言

西西软件下载最安全的下载网站、值得信赖的软件下载站!
→ LoadRunner 自带协议分析功工具使用技巧
1.4.4 绿色版
类型:站长工具大小:293KB语言:英文 评分:3.3
在做性能测试的时候,协议分析是困扰初学者的难题,选择错误的协议会导致Virtual&User&Generator&录制不到脚本;或录制的脚本不完整,有些应用可能需要选择多个协议才能完整的记录&客户端与服务器端的请求。最简单的办法就去跑去问开发人员我们的程序用什么协议通讯。当然,有时候为了面子,不好意思去问(也为装X)&,那就只能自己动手去被测系统所使用的协议。优秀的第三方协议分析工具还是挺多的,如:MiniSniffer&、Wireshark&、Ominpeek&等;当然他们除了帮你分析协议,还提供其它更细致的信息。好吧,我们只想知道被测系统该用什么协议就够了,那为何不用loadrunner自带的协议分析功工具呢。第一步打开LoadRunner&---Virtual&User&Generator&File(文件)&-----&&Protocol&&Advisor(协议分析软件)&-----&Analyze&Application...(分析应用程序)&弹出Protocol&Advisor&,是不是发现它和&“开始录制”脚本的对话框长得太像了。Application&type&:&选择程序类型。包含两个选项,Internet&Applications&&一般指B/S的系统,也就是通过浏览器访问的系统;Win32&Applications&一般&C/S&的系统,也就是本地的应用程序,如&QQ。Program&to&analyze&:选择程序的路径,如果是本地程序(C/S),就找到程序的启动程序。如&QQ的启动程序路径:&E:\Program&Files&(x86)\Tencent\QQ\QQProtect\Bin\QQProtect.exe&&&;如果是B/S的体统找到的安装路径。如:C:\Program&Files&(x86)\Internet&Explorer\iexplore.exe&。Program&arguments&:&如果是B/S的系统,请输入要访问的网址(这个网址不要加http://)。如果是C/S则为空。Working&directory&:&工具目录,也就是分析信息的保存路径。第二步点击OK&开始打应用程序,对应用程序进行操作,loadrunner&将记录你的操作,跟录制脚本是一样一样的。点击&stop&analyzing&&停止录制。第三步Loadrunner&会返回我们以下信息:这是一个典型的web&应用,所以,我们用&Web&(HTTP/HTML)&&协议就可以了。
09-0802-0202-0102-0102-0101-2901-2701-2701-2501-13
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载LoadRunner脚本是什么语言_百度知道正在播放:LoadRunner脚本语言
下载学院APP缓存视频离线看
购买本课程后即可享受以下服务:
24小时讲师答疑
所有课时永久观看
购买课程返学分
价格:499金币
购买本课程后,就可以记笔记了~~
开始记笔记……
记录时间点
我的笔记同学的笔记
购买本课程后,就可以提问题了~~
向老师提问……
记录时间点
我的问题同学的问题您所在的位置: &
认识LoadRunner脚本语言
认识LoadRunner脚本语言
人民邮电出版社
《软件性能测试与LoadRunner实战教程》第6章脚本语言编写基础及关联技术应用,介绍了LoadRunner脚本语言和C语言开发、LoadRunner重要的关联问题、关联技术应用、动态链接库函数调用、特殊函数应用的注意事项、自定义函数应用等。本节来大家介绍LoadRunner脚本语言。
第6章 脚本语言编写基础及关联技术应用
6.1& 认识LoadRunner脚本语言
很多准备从事性能测试的朋友经常会问我:&性能测试工程师需要有编程基础吗?&我也总是很坚定地回答:&非常需要!&做过几个性能测试项目的用户应该都清楚,有些情况下,性能测试是不能通过简单的脚本录制、回放来完成的。在很多种情况下,都需要性能测试工程师自行编写脚本,如果没有编程基础,是非常困难的。当然,如果性能测试工程师的编程水平较差,编写出来的脚本本身就存在业务错误和内存泄露等问题,性能测试的过程和结果也必将是不可信的。因此,性能测试工程师有编程基础是非常必要的,也是必需的。
下面是录制Tomcat自带的一个小程序&numguess&产生的脚本,该小程序实现一个非常简易的猜数字游戏。
#include&&web_api.h& &&Action() &{ &&&&&lr_rendezvous(&集合点&); &&&&&&lr_start_transaction(&执行时间&); &&&&&web_url(&numguess.jsp&, &&&&&&&&&&URL=http://localhost:8080/jsp-examples/num/numguess.jsp&, &&&&&&&&&&Resource=0&, &&&&&&&&&&RecContentType=text/html&, &&&&&&&&&&Referer=&, &&&&&&&&&&Snapshot=t1.inf&, &&&&&&&&&&Mode=HTML&, &&&&&&&&&LAST); &&&&&&web_submit_form(&numguess.jsp_2&, &&&&&&&&&&Snapshot=t2.inf&, &&&&&&&&&ITEMDATA, &&&&&&&&&&Name=guess&,&&Value=2&,&ENDITEM, &&&&&&&&&LAST); &&&&&lr_end_transaction(&执行时间&,&LR_AUTO); &&&&&&return&0; &}&
细心的读者也许已经发现了一些问题,如&#include &web_api.h&、&{}&、&return 0;&,这些内容是不是和C语言的语法非常类似呢?
事实上,LoadRunner支持多种协议,在编写脚本时,可以根据不同的应用,选择适合的协议。可以选择Java Vuser、JavaScript Vuser、Microsoft.NET、VB Vuser、VB Script Vuser等协议编写相应语言的脚本。在采用Web(HTTP/HTML)等协议编写脚本时,脚本的默认语法规则都是按照C语言的语法规则,当然也可以选择Java Vuser,用Java语言实现同样功能的脚本。在&HP LoadRunner Online Function Reference&帮助信息中,可以看到LoadRunner提供了多种语言的使用说明及其样例程序的演示,如图6-1所示。
喜欢的朋友可以添加我们的微信账号:
51CTO读书频道二维码
51CTO读书频道活动讨论群:【责任编辑: TEL:(010)】&&&&&&
关于&&&&的更多文章
本书是一本全面讲解JavaScript框架设计的图书,详细地讲解了设计
本书描述了黑客用默默无闻的行动为数字世界照亮了一条道路的故事。
讲师: 157人学习过讲师: 60人学习过讲师: 21人学习过
这是一本讲解债券交易的很好的参考书。内容涵盖广泛,
这是一本相当出色的投资指南!作者是美国最成功的股票
《OpenStack企业云平台架构与实践》结合作者亲身经历
黑客也有优劣之分。很显然对他们的奖励之一是利用黑客手段非法入侵我们公司的安全站点或个人系统。另一种奖励可能是他们的黑客行
51CTO旗下网站Posts - 258,
Articles - 1,
Comments - 2125
大人不华,君子务实。
独立博客:
15:07 by 虫师, ... 阅读,
  性能测试工程师要懂代码么?答案是必须的。好多测试员认为在中编写脚本很难很牛主要是大多测试人员并未做过开发工作,大学的那点程序基础也忘记的差不多了。还有非计算机专业出身的测试员,所以对代码望都比较望而生畏。
  好多人认为只支持语言(包括我之前也一直这么认为),因为默认的脚本是语言的,其实它支持目前所有主流的语言,如:、、、、等,总有一款适合你的吧,最起码语言是必修课吧。&
对于编写脚本的态度
  现在有一辆自行车放在你的面前,你为显示自己体力很好,每天走路去上班。我骑车只要半小时,而你走路却要小时,我们的目的是一样的,你是为了让人说你牛呢,还是让人说你傻呢?当然自行车不是万能的,比如,上班的地点在山上,自行车跟本上不去,自然走路就是唯一的选择了。
  所以,对于脚本,能录制的部分就录制改,不能录制的就手写,但前提是我们要会写脚本。
&认识loadrunner脚本                           
  Loadrunner自带了一个小飞机订票系统
  我们先启动&服务,如果启动成功,桌面右下角会有一个绿色的然后打开浏览器访问
&下面是我们录制一个登录过程。
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
lr_rendezvous("集合点");
lr_start_transaction("登陆时间");
web_submit_form("login.pl",
"Snapshot=t2.inf",
"Name=username", "Value=test1", ENDITEM,
"Name=password", "Value=123456", ENDITEM,
"Name=login.x", "Value=59", ENDITEM,
"Name=login.y", "Value=5", ENDITEM,
lr_end_sub_transaction("登陆时间",LR_ABORT);
  上面的代码中有大括号&{}&,返回函数&&&如果你有编程基础的不会说对于上面的代码一点都看不懂。只是上面的脚本没有使用我们平时用到的东西,如定义常量、变量,分支()、循环语句()
  下面我们动手写个小程序,一个乘法运算,求员工工资的总合。
#define COUNT 100
#define SALARY 4000
total = COUNT * SALARY;
lr_output_message("100人合计薪资支出为:%d",total);
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 Action.
Ending iteration 1...........
一个有意思的小程序 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&
  当然了,上面的程序太鸡肋了,我只是想表达,也可以运行我们上学时学的那些普通的小程序。他们是一样一样的。
下面看个比较有意思的小程序,通过随即数和分支(选择)语句来完成
randomnumber = rand() % 3+1;
switch (randomnumber) {
lr_rendezvous("访问百度集合点");
web_url("",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t12.inf",
"Mode=HTML",
"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,
lr_rendezvous("访问谷歌集合点");
web_url(".hk",
"URL=.hk/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t10.inf",
"Mode=HTML",
"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_0ee9e90acd.js", ENDITEM,
"Url=/textinputassistant/tia.png", ENDITEM,
lr_rendezvous("访问有道集合点");
web_url("",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t7.inf",
"Mode=HTML",
"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,
& & &上面的程序,我分别录制了百度、谷歌、有道访问三个网的首页的代码,我想在运行脚本时,随机的去访问其中一个网站,如何做呢?我们通过随机函数,随机出之间的整数,根据随机来的结果,然后执行语句中的代码。& &
下面来看我的结果
  为了查看脚本结果更清晰,我在每一段脚本前面加了一个集合点&&函数。
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-26577]
Action.c(59): Downloading resource "/oxo/p/logo.png?1" (specified by argument number 11)
[MsgId: MMSG-26577]
Action.c(59): Downloading resource "/oxo/p/nv_line.gif" (specified by argument number 13)
[MsgId: MMSG-26577]
Action.c(59): Downloading resource "/r/2.0/p/pic.gif" (specified by argument number 15)
[MsgId: MMSG-26577]
Action.c(59): Found resource "/dao/search/outweb/js/yd.js?" in HTML "/"
[MsgId: MMSG-26659]
Action.c(59): Found resource "/dao/search/outweb/js/nav.js?" in HTML "/"
[MsgId: MMSG-26659]
Action.c(59): Found resource "/dao/search/outweb/js/suggest.js?" in HTML "/"
[MsgId: MMSG-26659]
Action.c(59): web_url("") was successful, 30006 body bytes, 3347 header bytes, 39 chunking overhead bytes
[MsgId: MMSG-26385]
Ending action Action.
Ending iteration 1.
通过脚本读取文件 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
  为了增加语言的强大,高级语言不可以把一个程序的实现从头到尾写到文件里,这样可读性和维护很差,也无法实现团队发,肯定会相互调用接口函数库等。当然,读取文件也是常用的操作,下面我们来看一个读取文件的例子。
我们事先准备一个文件里面随便你输入些什么内容吧!
int count,total=0;
char buffer [50];
long file_
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+
//字符个数计数
if(total&=50)
fclose(file_stream);
//关闭文件
lr_output_message("文件的前50字符:%s",buffer);
//退出循环
上面的代码中我加了注释,这里没必须再做解释。
下面来看我的运行结果:
Starting iteration 1.
Starting action Action.
Action.c(24): 文件的前50字符:89
Ending action Action.
Ending iteration 1.
& & &loadrunner难么? 对于有编程基础的一点都不都。我们所要做的就是熟悉loadrunner的常用函数罢了。

我要回帖

更多关于 loadrunner 脚本 的文章

 

随机推荐