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. python3-day1-python简介及入门

    python简介及入门 python简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ...

  2. Intellij IDEA +MAVEN+Jetty实现Mybatis的HelloWorld

    1 maven配置:pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...

  3. mysql-bin引起mysql不能启动

    日志提示无法找到mysql-bin.000005这个文件 原因是我把其删除了,而在mysql-bin.index文件中却还有mysql-bin.000005的记录,因此启动失败了 解决: cd /va ...

  4. (转)RVA-相对虚拟地址解释

    RVA是相对虚拟地址(Relative Virtual Address)的缩写,顾名思义,它是一个“相对”地址,也可以说是“偏移量”,PE文件的各种数据结构中涉及到地址的字段大部分都是以RVA表示的. ...

  5. Ubuntu开启22端口

    [http://blog.csdn.net/baple/article/details/39288817] 安装OpenSSH Ubuntu缺省没有安装SSH Server,使用以下命令安装: sud ...

  6. c++虚函数调用及使用

    #include <iostream> using namespace std; class A { public: ; }; class B: public A { public: ; ...

  7. jquery遍历数组与筛选数组的方法

    grepgrep()方法用于数组元素过滤筛选 grep(array,callback,invert)array:待过滤数组;callback:处理数组中的每个元素,并过滤元素,该函数中包含两个参数,第 ...

  8. UIButton的titleLabe setAttributeSting 首次不起作用

    环境xcode7.3 ios9.3 真机模拟器均出现 UIButton的titleLabe setAttributeSting 首次不起作用,之后每一次 都正常,百思不得解,无奈之下改变策略,讲but ...

  9. Windows下Apache配置域名

    1.打开httpd.conf 找到“Include conf/extra/httpd-vhosts.conf”这一行,取消前面的#号注释并保存 2.修改httpd-vhosts.conf文件 进入ap ...

  10. 在 Typescript 2.0 中使用 @types 类型定义

    在 Typescript 2.0 中使用 @type 类型定义 基于 Typescript 开发的时候,很麻烦的一个问题就是类型定义.导致在编译的时候,经常会看到一连串的找不到类型的提示.解决的方式经 ...