Loadrunner开发测试脚本
Loadrunner开发测试脚本
开发测试脚本可以通过录制,也可以手动开发,建议能录制的尽量录制,省时省力,不能录制的只能费力自己开发了,具体看项目情况来决定。
使用Loadrunner开发脚本过程中和Jmeter一样,需要了解HTTP传输原理,使用Fiddler等工具进程抓包,根据请求信息编写请求表单,根据响应信息判断返回值做关联处理,在Action中插入->新建步骤中添加需要的函数,设置请求参数来逐步完成每个请求。
在开发流程测试脚本过程中,往往需要将上一个请求的返回值作为下个请求的参数,这时候需要用到关联,很多时候Loadrunner自动关联不是万能的,需要我们自己定义关联提取出需要的信息,以下为关联部分脚本:
|
Action() { lr_start_transaction("打开登陆页"); web_url("web_url", "URL={URL}/user/login.html", "TargetFrame=", "Resource=0", "Referer=", LAST); lr_end_transaction("打开登陆页", LR_AUTO); lr_start_transaction("提交登陆表单"); web_submit_data("web_submit_data", "Action={URL}/user/login.do", "Method=POST", "TargetFrame=", "Referer=", ITEMDATA, "Name=acct", "Value={username}", ENDITEM, "Name=beforeURL", "Value=", ENDITEM, "Name=password", "Value={password}", ENDITEM, "Name=verifyCode", "Value=1234", ENDITEM, LAST); lr_end_transaction("提交登陆表单", LR_AUTO); lr_start_transaction("出借列表"); web_url("web_url", "URL={URL}/front/investmentList.html", "TargetFrame=", "Resource=0", "Referer=", LAST); lr_end_transaction("出借列表", LR_AUTO); //提取“去出借”请求的“loanId”参数,在“出借”请求中调用; web_reg_save_param("loanId", "LB=type=\"hidden\" id=\"loanId\" value=\"", "RB=\"/>", LAST); lr_start_transaction("去出借"); web_url("web_url", "URL={URL}/loanObject/2220003.html", "TargetFrame=", "Resource=0", "Referer=", LAST); lr_end_transaction("去出借", LR_AUTO); //以下为提取“出借”请求的关联,在“出借跳转”请求参数中调用; web_reg_save_param("functionNum", "LB=functionNum\\\":\\\"", "RB=\\\",\\\"orderId", LAST); web_reg_save_param("orderId", "LB=orderId\\\":\\\"", "RB=\\\"", LAST); web_reg_save_param("ordDate", "LB=ordDate\\\":\\\"", "RB=\\\"", LAST); web_reg_save_param("investorId", "LB=investorId\\\":\\\"", "RB=\\\"", LAST); web_reg_save_param("borrowerId", "LB=investorId\\\":\\\"", "RB=\\\"", LAST); web_reg_save_param("fullAmount", "LB=fullAmount\\\":", "RB=,\\", LAST); web_reg_save_param("amount", "LB=amount\\\":", "RB=,\\", LAST); web_reg_save_param("signStr", "LB=signStr\\\":\\\"", "RB=\\\"", LAST); web_reg_save_param("freezeOrdId", "LB=freezeOrdId\\\":\\\"", "RB=\\\"", LAST); lr_start_transaction("出借"); web_submit_data("web_submit_data", "Action={URL}/loanObject/invest.do", "Method=POST", "RecContentType=application/json", "TargetFrame=", "Referer=", ITEMDATA, "Name=loanId", "Value={loanId}", ENDITEM, "Name=amount", "Value=100", ENDITEM, LAST); lr_end_transaction("出借", LR_AUTO); lr_start_transaction("出借跳转"); web_submit_data("web_submit_data", "Action={URL}/intf/bid.do", "Method=POST", "EncodeAtSign=YES", "TargetFrame=", "Referer=", "Mode=HTML", ITEMDATA, "Name=jsonDataString", "Value={\"functionNum\":\"{functionNum}\",\"orderId\":\"{orderId}\",\"ordDate\":\"{ordDate}\",\"investorId\":\"{investorId}\",\"borrowerId\":\"{borrowerId}\",\"loanId\":\"{loanId}\",\"amount\":{amount},\"fullAmount\":{fullAmount},\"fee\":0.00,\"feeRate\":1.00,\"terminal\":\"pc\",\"maxTenderRate\":0.5,\"isFreeze\":\"Y\",\"freezeOrdId\":\"{freezeOrdId}\",\"signStr\":\"{signStr}\"}", ENDITEM, LAST); lr_end_transaction("出借跳转", LR_AUTO); return 0; } |
提取数据根据请求响应信息的格式编写关联脚本,如抓包响应信息如下:
提取orderId参数的关联脚本为:
|
web_reg_save_param("orderId", "LB=orderId\\\":\\\"", "RB=\\\"", LAST); |
脚本调试过程中,根据脚本调试的目的来选取回放日志的类型,如果要查看提交表单请求的参数信息,选择扩展日志的高级跟踪:
如果要查看关联提取值是否正确,选择扩展日志的参数替换;
Loadrunner开发测试脚本的更多相关文章
- myeclipse调用loadrunner函数开发测试脚本
myeclipse调用loadrunner函数开发测试脚本 一.使用myeclipse开发性能测试脚本 1.使用Eclipse新建一个Java工程,将目录%LoadRunner_Home%\class ...
- LoadRunner Vuser测试脚本添加前置条件举例
调用接口前需要先获取登陆token,放入消息头中. /* * LoadRunner Java script. (Build: 3020) * * Script Description: 接口性能测试脚 ...
- loadrunner创建测试脚本运行无响应 不记录脚本
解决一运行User Generator直接程序卡死无响应的办法. (1)“我的电脑”点右键->属性->高级 点选“性能”中的“设置” (2)打开对话框后,进入“数据执行保护”,如果空白框中 ...
- Postman—测试脚本
前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...
- Loadrunner 脚本开发-利用Loadrunner生成Web service测试脚本
脚本开发-利用Loadrunner生成Web service测试脚本 1.选择协议--Web Service,如下图 2.导入服务 入口1:点击Manage Services ->弹出窗中选择“ ...
- (转载)loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
原文出处:http://ajita.iteye.com/blog/1728243/ 先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西.比较久之前很简单的用过,最 ...
- Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
脚本开发-利用loadrunner开发Windows Sockets协议脚本 by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 实践举例 Socket服务端简单实 ...
- 开发测试技巧|辅助开发调试:goolge浏览器利用F12在控制台输入脚本实现表单自动填充
一个开发测试技巧的指引和截图,利用google浏览器的F12调试和Console执行,注入JavaScript脚本实现表单的自动填充和测试. 原文链接: http://www.lookdaima.co ...
- 【JMeter4.0学习(五)】JMeter对服务器监控测试脚本开发
目录: 下载相关JMeter插件 服务器监控测试脚本开发 附:参考相关文档 本文主要来说一下如何通过JMeter插件来监控服务器CPU.内存.磁盘.网络等相关资源. 一.首先,需要下载相关JMeter ...
随机推荐
- Using dojo/query(翻译)
In this tutorial, we will learn about DOM querying and how the dojo/query module allows you to easil ...
- Net操作Excel(终极方法NPOI)
NPOI 待学习 http://www.cnblogs.com/stone_w/archive/2012/08/02/2620528.html
- dicom转换软件的一点头绪
想用c#写一个由dicom格式转化为jpeg或者其他格式的文件 找到了这个类 fo-dicom类
- maven依赖本地非repository中的jar包
依赖项的作用域 在定义项目的依赖项的时候,我们可以通过scope来指定该依赖项的作用范围.scope的取值有compile.runtime.test.provided.system和import. c ...
- JS 继承总结
ES里面没有真正的继承,但是能通过某些手段达到继承效果,从而让一个类拥有另外一个类的方法 类 =>构造函数 继承描述某语言环境---魔兽世界 哈!其实我没玩过 魔兽世界里面 有Humen类 ...
- SQL时间相关
SQL --本周第一天 SELECT DATEADD(Day,-(DATEPART(Weekday,getdate())+@@DATEFIRST-)%,getdate()) --or ,getdate ...
- Delphi 查找标题已知的窗口句柄,遍历窗口控件句柄(转)
用我的方法来控制其他程序窗体上的窗口控件,必须先了解什么是 回调函数.我的理解是这样的: 回 调函数写出来不是自己的程序去调用的,反而是让其他的东西去调用,比如windows操作系统,比如其他的程序等 ...
- javascript匿名函数应用
1.给指定对象新增一些属性的写法: /*给一个对象增加属性*/ var myDate=(function(obj){ obj.addName=function(name){ this.name=nam ...
- [杂] 将高版本iTunes备份恢复到低版本iOS设备中
除非开发测试用设备,自用设备不要随便升iOS beta,不要随便升iOS beta,不要随便升iOS beta. 对于升级了高版本iOS的用户,默认情况下重刷低版本iOS时,iTunes不允许向低版本 ...
- 定位form光标行
In AX2009 if you call the research() method on a form passing true, the cursor position within a gri ...