Loadrunner进行http接口压力测试
利用LoadRunner实现网页负载压力测试

Байду номын сангаас中图分类 号 :P 0 T31
文 献标 识码 : A
Th a i a i n o g a -sr s si 、 h Lo dRun r e Re lz to fPa e Lo d t e sTe tng t a ne
摘
要 : 件测试 是保证 软件 质 量的重要 手段 , 软件 系统进 行有 效的 负载压 力测试 。 助 于精 软 对 有
确 的评估 出软件性 能 的瓶 颈 . 而对其进行 调优 . 用 自动 化性 能测试 工具 L aRu n r 对 某高 从 利 od n e . 校的 We b网顷 进行 实例 负载 压力测 试 , 初步评 估 出该 w e b网 页的性 能瓶 颈 , 对此性 能瓶颈 , 针
1 测 试 方 法 概 述
( )性 能 测试 . 1 软件 性能 属 于 软件 产 品的特 性
全性 , 测试 在软件 工程 中 的地 位逐 渐 重要起 来 , 测 范 畴 . 常 可 以用 响应 时 间 、 在 通 吞吐 量 、 秒点 击数 等 每
性 试 领域 里 面 ,对 于 以 We b应 用 为 主 的 应用 程 序 来 参 数指 标 来进 行 衡量 . 能测 试是 一 项 规范 ,它是 说 . 能测 试又 尤 为重要 . 论 是 从技 术 上 . 性 无 还是 从 指 对 软 件性 能 相关 的需求 进行 测 试 和评 估 , 目标 其
O 引 言
随着 现代信 息化产 业 的成熟 .企 业信 息化 的数 据大 量集 中趋势 越来越 明显 , 随之 而来 的 , 数据 的危
Loadrunner11简单压测接口教程

Loadrunner11简单压测接⼝教程⼀、需求使⽤Loadrunner压测⽬标接⼝,要求⽀持1000并发数。
⽬标接⼝:返回结果:结果返回中code的值为1则为保存成功,为4001则为参数异常,为0时则是保存异常。
执⾏设备:Win10(教育版),Loadrunner11破解中⽂版⼆、概述使⽤Loadrunner进⾏压⼒测试⼀般分为3步,第⼀是创建/编辑脚本,第⼆是运⾏负载测试,第三是分析测试结果。
三、创建/编辑脚本点击“创建/编辑脚本”,打开HP Virtual User Generator窗⼝。
点击“新建脚本”或者打开已有的脚本选择协议类型,这⾥选择Web(HTTP/HTML)类型,新建⼀个脚本。
点击“创建”后,会出现录制的对话框。
因我们是提交请求给接⼝,再接受返回值即可。
因此⽆需录制,我们⼿动添加脚本即可。
接下来我们在Action⾥⾯添加脚本,内容为:Action(){web_reg_save_param("return_code","LB=\"code\":","RB=,",LAST);lr_start_transaction("发送请求事务");web_submit_data("web_submit_data","Action=https:///digitaldata/api/signer/1.0/signerRegist","Method=POST","TargetFrame=","Referer=","RecContentType=application/json",ITEMDATA,"Name=signerName", "Value=xx", ENDITEM,"Name=signerType", "Value=个⼈", ENDITEM,"Name=country", "Value=cn", ENDITEM,"Name=organization", "Value=xxx", ENDITEM,"Name=organizationUnit", "Value=xxx", ENDITEM,"Name=signerIDType", "Value=⾝份证", ENDITEM,"Name=signerIDNo", "Value=xxx", ENDITEM,LAST);lr_end_transaction("发送请求事务", LR_AUTO);if (atoi(lr_eval_string("{return_code}"))==1){lr_output_message("操作成功");}else{lr_output_message(lr_eval_string("{return_code}"));}return0;}脚本的简单解释:web_reg_save_param:主要是获取返回值中某些符合规则的值。
LoadRunner压力测试实例步骤

LoadRunner压力测试实例摘要:本文通过实例讲解介绍了LoadRunner 工具的使用,介于公司的实际情况,文中主要是对工具的基本使用做了详细描述,高级运用方面除性能计数器与参数设置外其它均未涉及,待以后补充。
目的是使公司人员根据该手册便可以独立运用Loadrunner进行压力测试主题词:Loadrunner 工具压力测试1 LoadRunner 概要介绍LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。
通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。
这些都不可避免地导致公司收益的损失。
Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。
1.1 基本步骤使用LoadRunner 完成测试一般分为四个步骤:1)Vvitrual User Generator 创建脚本创建脚本,选择协议✧录制脚本✧编辑脚本✧检查修改脚本是否有误2)中央控制器(Controller)来调度虚拟用户✧创建Scenario,选择脚本✧设置机器虚拟用户数✧设置Schedule✧如果模拟多机测试,设置Ip Spoofer3)运行脚本✧分析scenario4)分析测试结果2 安装LoadRunner 中文版LoadRunner 分为Windows 版本和Unix 版本。
loadrunner或jmeter进行手机app的压力测试

loadrunner或jmeter进⾏⼿机app的压⼒测试⼀、通过代理录制脚本 随着⼿机APP的⼴泛应⽤,应⽤的使⽤已占据了⼤量的市场份额,尤其是优秀的⼿机APP,动辄⽤户过千万过亿,对于如此庞⼤的⽤户量,我们在开发APP时,也需要对APP进⾏⼤并发⽤户量的。
1、启动CCProxy,进⼊设置页⾯。
如下图,修改端⼝号为7777(其他未被占⽤的端⼝号均可),确定。
2、查询安装了loadrunner和CCProxy的电脑IP地址,进⼊dos页⾯,输⼊ipconfig查询本机IP地址 3、启动Virtual User Generator,创建新脚本,点击录制时,设置如下图⽰,监听端⼝填写之前配置的端⼝号即可。
完成以上配置,即可进⾏⼿机APP的脚本录制。
⼆、loadrunner录制App脚本 因⽬前⽹上最新只有loadrunner11破解,但11⼜不⽀持⼿机代理录制app脚本,所以牵涉到如何⽤loadrunner11来录制⼿机app脚本问题,⽹上找了很多⽅法,都不同程度出现各种问题,最终问题解决,如下: 原料: 1. Loadrunner11,下载地址:/s/1i4NHwTv 2. loadrunner11补丁包,下载地址:/s/1ciUtYI 3. loadrunner11破解包,下载地址:/s/1boYcVT1 步骤: 要使⽤Loadrunner11录制⼿机脚本,需要先搭建好测试环境: · 能够正常使⽤的LoadRunner11; · 安装⼀个LR11的补丁包,⽤于⼿机录制; · pc端和⼿机端的⽹络在同⼀个⽹段。
这⾥特别说明⼀下,电脑需要可以提供热点(⽤于⼿机连接),如果是台式电脑不能提供热点,那么可以使⽤随⾝WIFI。
笔记本电脑可以通过安装免费WiFi等来达到提供热点的⽬的。
【测试环境准备】 第⼀步:安装LR11 第⼆步:安装LR11录制⼿机脚本补丁包,qfelr11patch4.msp,下载好之后,直接点击安装,没有特别的要求。
Loadrunner 接口测试的两种方法

请求报文格式:<?xml version="1.0" encoding="ISO-8859-1"?>< Publish ><SNSID>123</SNSID><UserID>456</ UserID><CommentsTypeID>2</ CommentsTypeID><CommentsID>123</CommentsID><AuthorID>456</AuthorID><CommentsContent>Don't forget the meeting!</CommentsContent> </Publish>有了上述的说明书之后,测试人员可以根据文档的描述在LoadRunner书写相应的接口测试脚本。
LoadRunner中涉及到向服务器发送请求的API方法包括:web_url(),web_submit_form(),web_s ubmit_data(),web_custom_request()。
下面介绍两种我常用的方法:方法一:使用web_submit_data()web_submit_data("insert","Action=http://116.211.23.123/SNS/Publish.htm ","Method=POST","Referer=http://116.211.23.123/SNS/Publish.htm ","Mode=HTML",ITEMDATA,"Name= SNSID ","Value=6601",ENDITEM,"Name= UserID ","Value=123",ENDITEM,"Name= CommentsTypeID ","Value=1",ENDITEM,"Name= CommentsID ","Value=456",ENDITEM,"Name= AuthorID","Value=789",ENDITEM,"Name= CommentsContent ","Value=Just for testing",ENDITEM,LAST);方法二:使用web_custom_request()char str[1000];strcpy(str,"SNSID=7999&UserID=1&CommentsTypeID=1&CommentsID=1&AuthorID=1&CommentsContent=1 ");web_custom_request("Publish","Url= http://116.211.23.123/SNS/Publish.htm","Method=POST","Referer=http://116.211.23.123/SNS/Publish.htm ","Mode=HTTP",str,LAST);这也是一种写法,可以跟web_submit_data互换。
Loadrunnerl录制脚本和运行脚本详细过程

Laodruuner做网站压力测试录制脚本详细过程。
供各位新手学习使用,特别是想刚入门的新手。
这是我个人自己入门的体会,如有更好的资料的大侠,希望拿出来共同学习。
本人的是laodrunner8.0版本。
1、先安装laodrunner8.0.2、开始-》程序-》mercury loadrunner-》mercury loadrunner 进入到如下页面:3、选择laod testing—》create/edit scripts进入到new virtual user的页面(如果没有看到new virtual user的页面,也可以选择file—)new就可以弹出)如图页面4、在available protocols的选项中选中web(http/html),点击向右“”的前头,把web(http/html)添加到selected protocols的目录下,如下图所示5、点击“OK” 进入到如图的页面再根据下图做相应的选择如图所示:Application type 选择“intern application”;program to record默认为:microsoft internet explorer ;URL address 输入你要压力测试网址的网址;working directory输入保存脚本的路径(请记住你保存的路径,以便再次调用)6、点“OK”从LR登陆进入网站首页LR同时录制操作过程的脚本,如图:输入用户名和密码,进入OA(LR会记录用户操作的每一个步骤)如图所示:用户可以再做相关的操作,LR都会以脚本的形式记录下来。
如果要停止录制,点击如图按钮:录制过程完毕。
7、跳转到如图页面点击“△”符号(红色圈起来的),使录制的脚本运行起来,查看录制的脚本是否成功如results-test results页面:results-test results页面Failed为0;warnings为0说明脚本录制成功。
数据库压力测试的工具与技术选型

数据库压力测试的工具与技术选型随着互联网的迅猛发展,企业的数据库系统承受着越来越大的压力。
为了确保系统的稳定性和性能,在开发和上线前进行数据库压力测试是必不可少的一步。
选择合适的工具和技术,可以帮助开发人员和测试人员在测试阶段尽早发现和解决潜在的性能问题。
本文将介绍一些流行的数据库压力测试工具和技术,并探讨它们的优缺点。
1. Apache JMeterApache JMeter是一个功能强大的开源压力测试工具,可用于对各种类型的应用程序进行测试,包括数据库。
它支持多种协议和数据类型,使测试人员能够模拟多种负载,并收集关键性能指标。
JMeter具有友好的用户界面和易于使用的测试脚本编辑器,使测试人员能够快速创建复杂的压力测试方案。
此外,JMeter还提供了大量的插件和扩展,进一步扩展了其功能和灵活性。
2. Apache BenchApache Bench是另一个常用的开源压力测试工具,特别适用于对Web应用程序进行测试。
它是Apache HTTP Server的一部分,具有简单易用和高度可定制的特点。
Apache Bench提供了用于创建和运行压力测试脚本的命令行接口,并可以生成详细的性能分析报告。
虽然它在功能方面相对有限,但对于一些简单的压力测试场景,它仍然是一个不错的选择。
3. LoadRunnerLoadRunner是一种商业化的压力测试工具,由Micro Focus 开发。
它提供了全面的功能和工具集,可以对各种类型的应用程序进行深入的压力测试和性能测试。
LoadRunner的一个重要特点是它的支持大规模并发用户模拟,可以模拟数千甚至更多用户访问系统。
此外,LoadRunner具有强大的脚本编辑器和监控工具,能够对系统性能进行细致的分析和监测。
4. VegetaVegeta是一个简单但强大的开源HTTP负载生成工具,专注于提供高性能和易于使用的接口。
它可以通过命令行创建压力测试脚本,并支持多种负载模式。
软件测试实验报告loadrunner

软件测试实验报告loadrunner引言软件测试是保证软件质量的重要手段,而性能测试则是其中的一部分。
在实际应用中,软件的性能往往是用户持续使用的关键因素。
本实验通过使用LoadRunner工具对一个Web应用进行性能测试,旨在评估系统的可扩展性和稳定性。
实验目的1. 了解性能测试的概念和一般流程;2. 掌握LoadRunner工具的基本使用方法;3. 学会分析性能测试结果并调优。
实验环境- 操作系统:Windows 10- 浏览器:Google Chrome- LoadRunner版本:12.55实验步骤步骤一:录制脚本1. 打开LoadRunner主界面,在“组织测试”中选择“录制脚本”;2. 输入脚本名称,选择协议为“Web HTTP/HTML”,点击“开始录制”按钮;3. 在弹出的浏览器中输入被测应用的URL,进入应用的登录页面;4. 按照测试用例的要求进行操作,录制脚本过程中可以对测试步骤进行注释和标记;5. 完成录制后,点击“停止录制”按钮。
步骤二:设计场景1. 在LoadRunner主界面,选择“组织测试”中的“设计场景”;2. 在“设计场景”界面中,将录制的脚本添加到“事务”中,可以设置事务的名称和模式;3. 将事务进行参数化,设置不同的参数取值,以模拟用户的不同行为;4. 可以设置事务之间的延迟时间,模拟用户的思考和操作过程。
步骤三:运行测试1. 在LoadRunner主界面,选择“执行测试”;2. 在“执行测试”界面中,选择要执行的场景,设置并发用户数、循环次数等参数;3. 启动测试并观察测试过程中的各项指标的变化情况,包括响应时间、吞吐量、错误率等;4. 完成测试后,查看测试报告,分析测试结果。
步骤四:优化调整1. 根据测试报告,可以发现系统的瓶颈和性能问题所在;2. 可以对系统进行优化调整,比如增加硬件资源、调整系统配置、修改代码逻辑等;3. 重新运行测试,对比测试结果,看优化效果。
loadrunner压力测试报告模板

压力测试报告拟制Prepared By 日期Date审核Reviewed By 日期Date目录第1章系统概述 (4)第2章方案设计 (4)第3章方案一测试结果........................................................................ 错误!未定义书签。
3.1 方案摘要.................................................................................... 错误!未定义书签。
3.2 运行结果.................................................................................... 错误!未定义书签。
第4章方案二测试结果........................................................................ 错误!未定义书签。
4.1 方案摘要.................................................................................... 错误!未定义书签。
4.2 运行结果.................................................................................... 错误!未定义书签。
第5章结论............................................................................................ 错误!未定义书签。
第6章附录............................................................................................ 错误!未定义书签。
loadRunner使用图解

loadRunner测试基本步骤:录制脚本→脚本调试→加载脚本、设置参数→压力测试→测试完成、生成测试报告以某系统签到签退测试脚本为例:1、录制脚本运行loadRunner,点击create/edit scripts图1.1 loadRunner主界面—录制脚本点击弹出窗口的new Vuser script…按钮图1.2 脚本选择界面弹出选择脚本协议窗口,默认为web(HTTP/HTML),签到签退功能测试的类型是web,所以直接点击ok图1.3 协议选择界面在下图中,在URL Address中输入测试入口地址,输入完成后,点击ok,开始录制图1.4 录制脚本参数设置界面图1.5 点击ok后,弹出窗口,开始录制图中红色标识部分为脚本录制的阶段。
一共有三个:vuser_init(初始化)、Action (动作)、vuser_end(结束)以签到压力测试为例,我们要测试的动作为签到,初始化为用户登录,结束可以为用户退出,也可以为用户点一下其它按钮。
输入用户名、密码,登录系统图1.7 脚本录制—初始化阶段,登录完成。
登录完成后,初始化阶段完成,经红色标识部分调整为Action,开始动作部分—签到。
调整为Action后,开始录制动作。
在门户首页点击个人事务,点击签到点击确认,完成签到动作签到动作完成后,Action录制完成。
结束动作开始。
我们以点击一下沟通中心作为整个操作的结束,沟通中心页面加载完成后,点击结束按钮,脚本录制完成。
2、脚本调试点击下图中标识的按钮,进行脚本回放图2.1 脚本回放再次点击回放按钮图2.2 脚本回放完成后,再次点击回放按钮图2.3 系统参数比较先选择下方的参数,然后点击correlate,参数比较完成图2.4 点击查看脚本按钮图2.5 脚本中记录用户名密码参数的位置图2.6 脚本中其它参数的位置找到脚本中记录用户名密码参数的位置,替换为另一个人如wujq(将脚本中zhouyun 改为wujq),找到其它需要修改的参数的位置,如empId,由于员工一天只允许签一次到,所以empId是必须修改的(wujq的员工id为7942,所以empId部分修改为7942)。
LoadRunner常见问题汇总

LoadRunner11压力测试时遇到问题及解决办法时间:2014-08-14 00:08来源:知行网 编辑:麦田守望者1、LoadRunner超时错误:在录制Web服务器端,如果超过120秒服务器协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。
错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。
错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到端还没有返回结果,则出现超时错误。
解决办法:首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“RuntimeSetting”>“Internet Proto col:Preferences”>“Advanced”区域中设置一个“winlnet replay instead of sockets”选项,再回放是否成功。
2.LoadRunner脚本中出现乱码:在录制Web协议脚本时出现中文乱码,在回放脚本时会使回放停止在乱码位置,脚本无法运行。
错误现象:某个链接或者图片名称为中文乱码,脚本运行无法通过。
错误分析:脚本录制可能采用的是URL-based script方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。
解决办法:重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording Options”的“Advanced”选项里先将“Surport Charset”选中,然后选中支持“UTF-8”的选项。
3.LoadRunner HTTP服务器状态代码:在录制Web协议脚本回放脚本的过程中,会出现HTTP服务器状态代码,例如常见的页面-404错误提示、-500错误提示。
LOADRUNNER11如何调用Jar包进行压力测试

LOADRUNNER11如何调用Jar包进行压力测试1.删除电脑原有的JDK的其他版本,只安装JDK1.6 u30(LR11支持的最高版本为JDK 1.6), 配置path如下:右键我的电脑→properties→advanced system settings→environment variables, 加入如:C:\Program Files (x86)\Java\jdk1.6.0_30\bin2.LoadRunner11选择Java Vuser协议,如下图3.打开LoadRunner 11的run time setting界面,按F4即可打开此界面。
1)设置ClassPathA. 点击右上角红色框的按钮,添加红色圈和蓝色圈以及粉红色圈里的内容。
其中:1)红色圈:机器上安装的jdk/lib下的两个jar包2)蓝色圈:被测程序中的被引入的jar包3)粉红色圈:将被测程序打包成的jar包B. 点击右上角蓝色方框的按钮,添加机器上安装的jdk/bin的路径2)设置Java VM选择第一个即,这里的JDK就是我们提到的第一步安装和设置的JDK。
4.编写脚本5.运行controller之前,设置license。
只找到JAVA Vuser的100个并发的账号。
LoadRunner License: global 100user AEAMAUIK-YAFEKEKJJKEEA-BCJGI添加完毕后的截图:6.最后一步,运行controller,和别的web类型的测试相同。
附录:按照上述的LR调用Jar包的方案,我们作为测试人员,需要开发提供如下的东西:✓被测试程序的Jar包;✓开发被测试程序时引入的其他Jar包;✓被测试程序的package、类和方法名以及方法如何调用(输入,输出参数等),且开发人员开发的方法必须有输出值(判断业务是否成功)。
LR调用此方法时,将根据此返回值来判断transaction是否成功。
LoadRunner性能测试工具使用指导书

LoadRunner性能测试工具使用指导书拟制: 审核: 审核: 批准:日期:日期:日期:日期:LoadRunner性能测试工具使用指导书目录1 概述 ........................................................................... ............................................................... 3 2 使用指导 ........................................................................... ........................................................ 3 2.1 安装LoadRunner ................................................................... ............................................. 3 2.2 使用LoadRunner 对Web 应用进行负载/压力测试 ............................................................4 2.2.1 制定测试方案: .......................................................................... ..................................... 5 2.2.2 制创建虚拟用户脚本: .......................................................................... .......................... 5 2.2.3 创建运行场景: .......................................................................... ................................... 27 2.2.4 利用Analysis 分析结果: .......................................................................... .................... 39 2.3 经常遇到的问题 ........................................................................... ..................................... 49 2.3.1 Controller的问题 ........................................................................... .............................. 49 2.3.2 计数器的问题 ........................................................................... .. (50)第2页,共50页LoadRunner性能测试工具使用指导书1 概述LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner压力测试简单用户登录

LoadRunner网站压力测试使用记录时间:[2009-11-24]LoadRunner基本测试过程由以下四个步骤组成:1. 步骤一:创建脚本∙通过录制应用程序中典型最终用户执行的操作来生成虚拟用户(Vuser),将该用户的操作录制到自动虚拟用户脚本中,以便作为负载测试的基础。
2.步骤二:设计场景3.步骤三:运行场景∙运行用来模拟真实用户执行操作的脚本,并可以通过让多个虚拟用户(Vuser)同时执行这些操作来在系统中创建负载。
4.步骤四:分析结果∙提供包含深入的性能分析信息的图和报告。
使用这些图和报告,可以标识应用程序中的瓶颈,并确定需要对系统进行哪些更改来提高系统性能。
通过LoadRunner模拟登陆,设计操作路径新建录制1.1.新建录制信息1、新建一个web[Http]的[图-1.1][图-1.1]2、开始录制操作,先输入要录制的网页路径[图-2.1]、[图-2.2][图-2.1][图-2.2]3、开始录制4、录制结束,录制结束后点击停止[红色方框圈着的] [图-4.1][图-4.1]5、输入访问人数[图-5.1]6、运行[图-6.1]7、查看1人操作的时间[图-7.1]8、保存录制结果[图-8.1]9、新建运行[图-9.1][图-9.1] 10、选择要进行分析的文件[图-10.1]、[图-10.2][图-10.1][图-10.2]11、设置测试的方式[绝对并发,相对并发] [图-11.1][图-11.1]a)设置Edit Scheduleb)开始:Load all Vusers simultaneously 同时一起执行。
i.Load all Vusers simultaneously:绝对并发,同时访问。
ii.Start:每次执行访问的次数Vusers every:相隔多少时间iii.c)执行:Run until completion 直到完成i.d)结束:直到结束才停止。
i.12、设置访问用户数[图-12.1] 或[图-12.2] 都可以设置[图-12.1][图-12.2]13、点击运行分析[图-13.1][图-13.1]14、点击后,弹出对话框,询问,是否将结果默认保存到xx路径,最好自己设置,以便于查找测试结果信息。
设置LoadRunner多机代理并发压力测试

设置LoadRunner多机代理并发压力测试作者:刘卫星日期: 2009-11-28部门:解决方案部/研发部/开发三部产品名称:案例简述:LoadRunner是一种优秀的压力测试工具,它不但可以在一台客户机上实施压力测试,还可以多机联机一起对被测试机实施压力测试;并且可以对测试结果实行统一统计分析。
关键字:LoadRunner,压力测试,多机代理一.问题描述:当一台LoadRunner测试机实施压力测试时,整个测试系统性能瓶颈在测试机时,我们就有必要多机联机实施压力测试。
二.原因分析:分析问题产生的原因:在测试ADS系统apache服务器的时候,测试的硬件环境如下:机网卡一秒钟的数据流量最多为:100/8=12.5M,而apache服务器为双网卡并且做了网卡ip地址绑定,这时候apache服务器网卡一秒钟的数据流量最多可为2000/8=256M。
三.解决方案和效果:我们可以用多台测试机,联机实施压力测试,具体实施步骤如下:1.假设我们有三台测试机,ip分别为:172.30.50.101,172.30.50.102,172.30.50.1032.我们把172.30.50.101作为测试机的主控机,其它二台为代理机。
3. 三台测试都安装好LoadRunner8.14. 在172.30.50.102和172.30.50.103上开启LoadRunner 代理功能,如下图。
5. 在172.30.50.101上启动LoadRunner Controller 程序,如下图:6. 在LoadRunner Controller 操作界面,点击“Generators …”按纽,添加代理用户,如下图:7. 在弹的界面中点击“Add …”按纽,如下图:8. 在出现的”Load Generator Information ”界面中,设置代理机的名称(可设置成代理机的ip),运行系统(一般为Winodws),路径(C:\Documents and Settings\903608\Local Settings\Temp\brr_0Hl.93\brr_Ia3.732),如下图:9. 如下图添加好了三台测试机的代理设置10.点击“Connect”按纽,连接代理机11.如下图,当状态变为Ready,代理机连接正常12.如下图三台测试机都加载好了同一测试脚本这时候只需要启动测试脚本,执行测试即可。
LoadRunner性能测试步骤

LoadRunner性能测试基本步骤前言本文旨在指导初学者使用LoadRunner进行基础的性能测试。
我们在接到一个性能测试任务的时候,需要从以下几点考虑:我们的测试对象是什么,测试要求是什么,测试环境怎么部署的,业务规模如何,哪些业务点是客户最关注的等等,下面将从性能测试启动开始讲解基本的测试流程。
1、测试脚本录制在使用loadrunner工具前,需确定哪些业务需要使用该工具进行测试,不需要的时候坚决不用,不要认为这个工具万能。
以本次测试中的综合查询(预付费综合业务信息查询)为例进行讲解。
1.1录制前准备工作在录制脚本前需检查压测环境的整体功能是否正确,待测部分的功能是否正确,只有确保功能正确后才可进行压测。
如本次测试,可先验证50环境是否正常,CICS服务器(49)是否正常,/var/cics_regions目录的使用率是否过高等等,一切确定OK后,开始验证功能,这些都保证没有问题后,检查一下测试工具loadrunner是否正常使用,可简单的点点用用,确保工具OK。
1.2录制及调试脚本在准备工作OK后,进行脚本的录制,具体过程如下:1、打开“开始->程序->Mercury LoadRunner->Mercury LoadRunner”出现下图2、点击“Create/Edir Scripts”,出现下图,如果没有出现,则可在“File”下选择New新建。
3、出现这个界面后,选择Web(HTTP/HTML)协议,我们测试的是B/S模式,采用的是Web 协议。
选择后,点【OK】按钮。
出现下图:4、点击界面中的,这个表示开始录制脚本,点这个按钮后,出现下图:图中的URL输入待测的网址,如本次测试网址:在Record into Action中选择vuser_init,把登录部分放在vuser_init中,vuser_init与vuser_end 在测试过程中仅执行一次,这里解释一下,Action的作用是讲测试功能主体放在里面执行,举例,假如做产品转换,我们讲登陆的部分放在vuser_init中,具体业务操作放在Action 中,退出部分放在vuser_end。
loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写

loadrunner简单使⽤——HTTP,WebService,Socket压⼒测试脚本编写使⽤loadrunner进⾏压⼒测试主要分两步,第⼀步是编写脚本(⽐较重点),第⼆步执⾏测试(配置都是在界⾯上点点就⾏了,当然我只的是⽐较简单的,能满⾜⽇常需要的),第三步分析结果(这⼀步⽐较⾼深,但是对于我来说能看懂简单的性能指标就OK了)。
所以这⾥就说⼀下脚本的编写,给未来再⽤到做参考。
Action(){int status;lr_start_transaction("send");web_reg_find("Search=Body",//这⾥说明在Body的范围内查找"SaveCount=ret_Count",//这⾥表⽰把返回值的个数放在变量ret_Count⾥"Text=mobile",//这⾥表⽰查找的内容是“mobile”LAST);status=web_url("Baidu_Search","URL= /s?wd=mobile","TargetFrame=Main","Resource=0","RecContentType=text/html","Mode=http",LAST );lr_output_message("Request Status:%d",status);lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));if (atoi(lr_eval_string("{ret_Count}")) > 0){//这⾥判断检查到的个数lr_output_message("Rec successful.");lr_end_transaction("send", LR_PASS);}else{lr_error_message("Rec failed");lr_end_transaction("send", LR_FAIL);}return0;}2.HTTP POST请求这个是在我们项⽬中⽤到的,发送POST请求,进⾏⾃然语⾔识别的,脚本如下:Action(){int status;lr_start_transaction("send");web_reg_find("Search=Body",//这⾥说明在Body的范围内查找"SaveCount=ret_Count",//这⾥表⽰把返回值的个数放在变量ret_Count⾥"Text=t",//这⾥表⽰查找的内容是“t”LAST);status=web_submit_data("trs","Action=http://192.168.77.185:9002/recognizeText",//地址"Method=POST",//POST请求"RecContentType=text/html","Mode=HTML",ITEMDATA,"Name=usercontent","Value=gprs",ENDITEM,//这⼀⾏表⽰传⼊⼀个参数usercontent,值为gprs"Name=Accept","Value=text/plain",ENDITEM,LAST);lr_output_message("Request Status:%d",status);if (atoi(lr_eval_string("{ret_Count}")) > 0){//这⾥判断检查到的个数lr_output_message("Rec successful.");lr_end_transaction("send", LR_PASS);}else{lr_error_message("Rec failed");lr_end_transaction("send", LR_FAIL);}return0;}3.WebService请求webservice请求的脚本建议通过可视化的⽅式添加1)引⼊webservice,注意wsdl后缀2)给⼊参填值3)给返回值指定存储到的变量中Action(){int status;lr_start_transaction("send");status=web_service_call( "StepName=getSupportCity_102","SOAPMethod=WeatherWebService|WeatherWebServiceSoap|getSupportCity",//这⾥是我已经引⽤了webservice的名称及调⽤⽅法"ResponseParam=response","Service=WeatherWebService","ExpectedResponse=SoapResult","Snapshot=t1353067092.inf",BEGIN_ARGUMENTS,"byProvinceName=安徽",//这⾥是⼊参,参数名称:byProvinceName,值:安徽。
http协议的接口测试

竭诚为您提供优质文档/双击可除http协议的接口测试篇一:如何做接口测试如何做好接口测试?发布时间:20xx-1-1910:44作者:小刀来源:51testing软件测试论坛字体:小中大|上一篇下一篇|打印|我要投稿|推荐标签:软件测试接口测试sgbtmy:基于selenium的自动化框架开发,我主要是想问一下,你的框架除了前台的自动化,后台的数据的测试是否集成在你的测试框架中?小刀:你好,个人理解的你所说的后台的数据的测试是指的是对数据的校验,不知理解的是否正确,那么根据这个理解,我的解释是,在我们框架中,增加了很多的功能方法用来帮助进行自动化脚本的编写和结果校验,其中就包括后台数据校验方法,当我们的测试用例需要在后台进行数据校验的时候,调用这些数据校验方法即可。
相当于是,前台页面操作的自动化是封装selenium的方法去操作页面,而对后台数据的校验是通过增加功能方法来实现的,可以理解为不同的两部分,但是在编写测试脚本的似乎,根据测试用例的设计,这两部分都可以拿过来使用。
不知道是否解答了你的疑问,如果没有,请你指出,谢谢你。
tjy688:你们做接口测试的流程一般是怎么样的?小刀:接口测试的流程其实和功能测试的流程类似,因为接口测试依赖的主要对象也是需求说明书,所以,最初的流程就是参与需求讨论,评审需求。
需求确定以后,开发会根据需求进行接口设计,会产出接口定义,在开发设计过程中,有能力的话,可以给出一些针对设计的建议,提高可测性,针对需求及设计,进行测试计划,测试设计,然后还需要和配管确定测试环境相关的事情。
在开发完成接口定义之后,就根据需求文档及接口定义进行测试用例设计,测试用例设计主要从业务场景,功能,以及异常测试几个方面考虑。
测试用例设计完成后,针对测试用例进行评审,然后,如果开发代码部分可测时,即可进入测试了,因为是部分可测,可能会使用到mock方法。
已有测试代码时,就要进行测试代码的持续集成了,我们是使用hudson来进行持续集成的在项目结束后,会对每个项目进行总结。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用Loadrunner进行http接口压力测试
业务描述:
在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回。
使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据:
一.安装Loadrunner
本次测试过程使用Loadrunner 11.0版本。
二.部署环境
1.接口服务器一台;
2.用于运行Loadrunner的压力测试机1台或N台,在条件允许下,尽可能提供高配置的CPU 和内存。
3.接口服务器和压力测试机建议应部署于同一个局域网内,否则测试过程和结果将受到网络带宽因素的影响无法顺利进行。
三.编写测试脚本
方法一. 通过java编写测试类,以jar包的方式引入Loadrunner进行测试。
优点:便于解析接口响应结果,同时避免由于LR脚本编写不规范或配置问题,导致测试过程引发的未知错误。
条件:运行loadrunner的机器需要安装jdk1.6的版本。
1.编写java测试类: CTLPTest.java,如下代码
1package com;
2
3import java.io.InputStream;
4import .HttpURLConnection;
5import .URL;
6import java.util.Random;
7
8public class CTLPTest
9 {
10public static void main(String[] args)
11 {
12 CTLPTest lbs = new CTLPTest();
13 String ltpUrl = lbs.ltpRequestUrl();
14 System.out.println(ltpUrl);
15 System.out.println(lbs.ltpRequest(ltpUrl));
16 }
17
18public int ltpRequest(String ltpRequestUrl) 19 {
20int returnCount = -1;
21try
22 {
23 URL url = new URL(ltpRequestUrl);
24//http连接
25 HttpURLConnection http = (HttpURLConnection)url.openConnection();
26 http.setUseCaches(false);
27 http.connect();
28//获取http响应流
29 InputStream in = http.getInputStream();
30//解析响应流
31byte[] b = new byte[in.available()];
32 in.read(b);
33//将响应流转换成字符串
34 String res = new String(b);
35//根据实际情况,判断响应结果,并设置返回值
36int of = res.indexOf("sucess");
37if (of < 0) {
38 returnCount = -1;
39 } else {
40 returnCount = 1;
41 }
42 } catch (Exception e) {
43 returnCount = -1;
44 }
45return returnCount;
46 }
47
48public String ltpRequestUrl() {
49 StringBuilder param = new
StringBuilder("http://192.168.100.205:8055/CTLP/LtpRequest.json?Imsi= ");
50 param.append("userid-1");
51
param.append("&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4"); 52return param.toString();
53 }
54 }
View Code
2.将测试类导出为jar包 : LTPRequest.jar 过程略.
3.Loadrunner创建java测试类
图1:
图2:创建java协议脚本1
图3:创建java协议脚本2
图4:创建java协议脚本3
图5:设置环境变量
图6:设置安装的jdk位置目录
图7:导入jar包
图8:编写脚本内容
1package com;
2
3import java.io.InputStream;
4import .HttpURLConnection;
5import .URL;
6
7public class CTLPTest
8 {
9public static void main(String[] args)
10 {
11 CTLPTest lbs = new CTLPTest();
12 String ltpUrl = lbs.ltpRequestUrl();
13 System.out.println(ltpUrl);
14 System.out.println(lbs.ltpRequest(ltpUrl));
15 }
16
17public int ltpRequest(String ltpRequestUrl) 18 {
19int returnCount = -1;
20try
21 {
22 URL url = new URL(ltpRequestUrl);
23//http连接
24 HttpURLConnection http = (HttpURLConnection)url.openConnection();
25 http.setUseCaches(false);
26 http.connect();
27//获取http响应流
28 InputStream in = http.getInputStream(); 29//解析响应流
30byte[] b = new byte[in.available()];
31 in.read(b);
32//将响应流转换成字符串
33 String res = new String(b);
34//根据实际情况,判断响应结果,并设置返回值35boolean of = res.contains("\"state\":1"); 36if (of) {
37 returnCount = 1;
38 } else {
39 returnCount = 0;
40 }
41 } catch (Exception e) {
42 returnCount = -1;
43 }
44return returnCount;
45 }
46
47public String ltpRequestUrl() {
48 StringBuilder param = new
StringBuilder("http://192.168.100.205:8055/CTLP/LtpRequest.json?Imsi= ");
49 param.append("userid-1");
50
param.append("&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4"); 51return param.toString();
52 }
53 }
View Code
图9:试运行,查看结果
说明:至此,完成了java脚本的编写和基本测试,接下来我们就可以使用loadrunner的进行压力测试了。
四.压力测试
图1:选择压力测试
图2:打开步骤三中创建的java脚本目录
图3:压力测试设置界面总览
图4:设置开启并发用户数及压入频率
说明:单位时间内压入的并发用户数设置的用户数值越大,压力越大,根据测试实际需要调整。
图5:设置压力峰值持续时间
图6:设置单位时间内减少并发用户数(根据实际需要,也可以选择Simultaneously,达到时间后直接停止)
图7:点击"Start Scenario"按钮开始运行测试
图8:运行结果:
图9:分析结果(可以保存各项性能指标数据到文件)。