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开发测试脚本的更多相关文章

  1. myeclipse调用loadrunner函数开发测试脚本

    myeclipse调用loadrunner函数开发测试脚本 一.使用myeclipse开发性能测试脚本 1.使用Eclipse新建一个Java工程,将目录%LoadRunner_Home%\class ...

  2. LoadRunner Vuser测试脚本添加前置条件举例

    调用接口前需要先获取登陆token,放入消息头中. /* * LoadRunner Java script. (Build: 3020) * * Script Description: 接口性能测试脚 ...

  3. loadrunner创建测试脚本运行无响应 不记录脚本

    解决一运行User Generator直接程序卡死无响应的办法. (1)“我的电脑”点右键->属性->高级 点选“性能”中的“设置” (2)打开对话框后,进入“数据执行保护”,如果空白框中 ...

  4. Postman—测试脚本

    前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...

  5. Loadrunner 脚本开发-利用Loadrunner生成Web service测试脚本

    脚本开发-利用Loadrunner生成Web service测试脚本 1.选择协议--Web Service,如下图 2.导入服务 入口1:点击Manage Services ->弹出窗中选择“ ...

  6. (转载)loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写

    原文出处:http://ajita.iteye.com/blog/1728243/ 先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西.比较久之前很简单的用过,最 ...

  7. Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本

    脚本开发-利用loadrunner开发Windows Sockets协议脚本 by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 实践举例 Socket服务端简单实 ...

  8. 开发测试技巧|辅助开发调试:goolge浏览器利用F12在控制台输入脚本实现表单自动填充

    一个开发测试技巧的指引和截图,利用google浏览器的F12调试和Console执行,注入JavaScript脚本实现表单的自动填充和测试. 原文链接: http://www.lookdaima.co ...

  9. 【JMeter4.0学习(五)】JMeter对服务器监控测试脚本开发

    目录: 下载相关JMeter插件 服务器监控测试脚本开发 附:参考相关文档 本文主要来说一下如何通过JMeter插件来监控服务器CPU.内存.磁盘.网络等相关资源. 一.首先,需要下载相关JMeter ...

随机推荐

  1. 如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件

    1. 描述 PDF 文件是一种便携文件格式,是由Adobe公司所开发的独特的跨平台文件格式.PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即 ...

  2. 关于SAP日期操作的几个函数

    1.拆分年月---其实可以直接通过截取字符串的方法得到 CALL FUNCTION 'CACS_DATE_GET_YEAR_MONTH' EXPORTING I_DATE = SY-DATUM IMP ...

  3. <<测试驱动开发的艺术>>读书笔记

    TDD通过边测试边编写代码,然后重构来防止重构所引起的错误 通过自动化测试和持续集成工具,随时保持可以发布 TDD第一步: 1. 需求分解 2. 将需求转化成测试 3. 写一个失败的测试 4. 逐步通 ...

  4. CSS的一些简单概念

    行内元素与块级元素 在标准文档流里面,块级元素具有以下特点: ①总是在新行上开始,占据一整行:②高度,行高以及外边距和内边距都可控制:③宽带始终是与浏览器宽度一样,与内容无关:④它可以容纳内联元素和其 ...

  5. SQL Server替换特殊字符

    1.查找特殊字符的ASCII码,在这里当然能够看到这个特出字符的模样,可用函数取出这个特殊字符进行复制,下面的取值为9 Select ascii(' ') 2.根据ASCII码值替换特殊字符 Upda ...

  6. 黄聪:GeckoFX如何引用jquery文件并执行自定义JS

    var jquery_script = gwb.Document.CreateElement("script"); jquery_script.SetAttribute(" ...

  7. java 用插入排序思想,对不规则数组排序。

    知道插入排序后,无意中发现,用插入排序思想,对不规则数组排序的排序 发现和许多大神写的不一样,大神写的简洁多了.--------

  8. loadrunner中web_reg_find使用使用方法

    Java语法:int object.reg_find( String text, String[] argumentList ); (例子:略) C语法:int web_reg_find( const ...

  9. 总结一下响应式设计的核心CSS技术Media(媒体查询器)的用法。(转)

    <meta http-equiv="X-UA-Compatible" content="IE=edge"><!--兼容ie-->< ...

  10. 带无缝滚动的轮播图(含JS运动框架)

    今天学习了一下轮播图的写作,想到前一阵学过的无缝滚动得思想,所以就把轮播与滚动结合了一下.不过我的代码的神逻辑我自己都不敢恭维,在没网没参照的情况下,只能硬着头皮往下写,希望跟大家共勉吧. js运动框 ...