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. APP跳到系统设置

    //定位服务设置界面 NSURL *url = [NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]; if ([[UIApp ...

  2. ajax-向服务器发送请求

    ajax-向服务器发送请求 1.将请求发送到服务器,使用XMLHttpRequest对象的 open() 和 send() 方法.     xmlhttp. open(method,url,async ...

  3. 承接Holograms外包 Holograms内容定制 Holograms场景外包开发

    HoloLens仿真器与文档现已向开发者们开放 如何为Microsoft HoloLens全息眼镜开发应用? 每款运行Windows 10的设备都使用了相同统一的Windows内核.所以你学习了所有有 ...

  4. DOJO DOM 功能

    In this tutorial, you'll learn about how to use Dojo to manipulate the DOM in a simple, cross-browse ...

  5. Java内存区域

    1.运行时数据区域 java虚拟机在执行java程序的过程中会将它管理的内存区域分为若干个不同的数据区域.这些区域有各自的服务对象,创建以及销毁时间,有的内存区域随着虚拟机的启动和关闭而创建和销毁,有 ...

  6. mysql replication

    change master to master_host='192.168.0.3',master_user='myrepl',master_password='5rNUnOHxut3lkP4wXds ...

  7. CentOS7:搭建SVN + Apache 服务器

    1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apach ...

  8. Eclipse连接VirtualBox中的Android x86

    Android x86 Alt+F1打开命令行,命令netcfg查看当前ip,记住,然后Alt+F7回界面. Eclipse-Window-Preferences-Android-DDMS-Use A ...

  9. 【原创翻译】初识Unity中的Compute Shader

    一直以来都想试着自己翻译一些东西,现在发现翻译真的很不容易,如果你直接把作者的原文按照英文的思维翻译过来,你会发现中国人读起来很是别扭,但是如果你想完全利用中国人的语言方式来翻译,又怕自己理解的不到位 ...

  10. openlayers

    很久没有写东西了,最近突然想看看地图,就翻看了下,用了2-3周时间看看网页,学习做了下:先看做的效果: