Loadrunner脚本回放 场景运行过程中常见错误分析
问题一:Loadrunner超时错误问题描述
Loadrunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。
问题现象Error
-27728: Step download timeout (120 seconds) has expired when downloading
non-resource(s)。
错误分析对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到服务器端,如果超过120秒服务器端还没有返回结果,则出现超时错误。
解决办法首先在运行环境中对超时进行设置,默认的超时时间可以设置长一些,再设置多次迭代运行,如果还有超时现象,需要在“Runtime
Setting”>“Internet Protocol:Preferences”>“Advanced”区域中设置一个“winlnet replay
instead of sockets”选项,再回放是否成功。
问题现象Error -27498: Timed out while
processing URL=http://172.18.20.70:7001/workflow/bjtel/leasedline/ querystat/
subOrderQuery.do
错误分析
这种错误常常是因为并发压力过大,服务器端太繁忙,无法及时响应客户端的请求而造成的,所以这个错误是正常现象,是压力过大造成的。
如果压力很小就出现这个问题,可能是脚本某个地方有错误,要仔细查看脚本,提示的错误信息会定位某个具体问题发生的位置。
解决办法例如上面的错误现象问题定位在某个URL上,需要再次运行一下场景,同时在其他机器上访问此URL。如果不能访问或时间过长,可能是服务器或者此应用不能支撑如此之大的负载。分析一下服务器,最好对其性能进行优化。
如果再次运行场景后还有超时现象,就要在各种图形中分析一下原因,例如可以查看是否服务器、DNS、网络等方面存在问题。
备注:增加一下运行时的超时设置,在“Run-Time
Settings”>“Internet Protocol:Preferences”中,单击“options”,增加“HTTP-request
connect timeout”或者“HTTP-request receive”的值。
问题二:LoadRunner脚本中出现乱码问题现象某个链接或者图片名称为中文乱码,脚本运行无法通过。
错误分析
脚本录制可能采用的是URL-based
script方式,如果程序定义的字符集合采用的是国际标准,脚本就会出现乱码现象。
解决办法重新录制脚本,在录制脚本前,打开录制选项配置对话框进行设置,在“Recording
Options”的“Advanced”选项里先将“Surport Charset”选中,然后选中支持“UTF-8”的选项。
问题三:LoadRunner HTTP(404/500)服务器状态代码问题现象HTTP404 Not
Found服务器没有找到与请求URI相符的资源,但还可以继续运行直到结束。
错误分析
此处与请求URI相符的资源在录制脚本时已经被提交过一次,回放时不可再重复提交同样的资源,而需要更改提交资源的内容,每次回放一次脚本都要改变提交的数据,保证模拟实际环境,造成一定的负载压力。
解决办法在出现错误的位置进行脚本关联,在必要时插入相应的函数。
错误现象HTTP
500 Internal Server
Error服务器内部错误,脚本运行停止。
错误分析
服务器碰到了意外情况,使其无法继续回应请求。
解决办法出现此错误是致命的,说明问题很严重,需要从问题的出现位置进行检查,此时需要此程序的开发人员配合来解决,而且产生的原因根据实际情况来定,测试人员无法单独解决问题,而且应该尽快解决,以便于后面的测试。
form. not found [MsgId: MERR-27979]
web_submit_form. highest
severity level was "ERROR",0 body bytes, 0 header bytes [MsgId:
MMSG-27178]"
这时在tree
view中看不到此组件的相关URL。
错误分析
所选择的录制脚本模式不正确,通常情况下,基于浏览器的Web应用会使用“HTML-based
script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java
Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用HTTPS安全协议,这时则使用“URL-based
script”模式进行录制。
解决办法打开录制选项配置对话框进行设置,在“Recording Options”的“Internet
Protocol”选项里的“Recording”中选择“Recording Level”为“HTML-based script”,单击“HTML
Advanced”,选择“Script. Type”为“A script. containing explicit”。然后再选择使用“URL-based
script”模式来录制脚本。
问题五:LoadRunner不执行检查方法错误现象在脚本中插入函数Web_find,在脚本中设置文本以及图像的检查点,但是在回放过程中并没有对设置的检查点进行检查,即Web_find失效。
错误分析
由于检查功能会消耗一定的资源,因此LoadRunner默认关闭了对文本以及图像的检查,所以在设置检查点后,需要开启检查功能。
解决办法打开运行环境设置对话框进行设置,在“Run-time
Settings”的“Internet Protocol”选项里的“Perference”中勾选“Check”下的“Enable Image and text
check”选项。
=======================================================================
在使用LoadRunner进行WEB脚本录制的时候,很多人不清楚URL-based
方式和 HTML-based方式的差别,
以及何种情况下使用何种录制方式,这里给出一个简单的判断方法。
HTML-based
方式
HTML-based
方式对每个页面录制形成一条语句,对LoadRunner来说,在该模式下,访问一个页面,
首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),
然后建立几个连接分别获取相应的元素。
URL-based
方式
URL-based
方式将每条客户端发出的请求录制成一条语句,对LoadRunner来说,在该模式下,一条语句只建立一个到服务器的连接,
LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟HTML-based的工作方式。
如何决定选择何种录制方式?
1、如果应用是WEB应用,首选是HTML-based方式;
2、如果应用是使用HTTP协议的非WEB应用,首选是URL-based方式;
3、如果WEB应用中使用了java
applet程序,且applet程序与服务器之间存在通讯,选用URL-based方式;
4、如果WEB应用中使用的javascript、vbscript脚本与服务器之间存在通讯(调用了服务端组件),选用URL-based方式
Loadrunner脚本回放 场景运行过程中常见错误分析的更多相关文章
- 关注LoadRunner脚本回放日志中的Warning信息-转载
关注LoadRunner脚本回放日志中的Warning信息 最近在与大家的讨论中发现了LoadRunner的很多问题,出于解决问题的出发点,我也就相关自己不理解的问题在Google中搜索了一番,并 ...
- LoadRunner脚本回放日志中的Warning信息
关注LoadRunner脚本回放日志中的Warning信息 最近在与大家的讨论中发现了LoadRunner的很多问题,出于解决问题的出发点,我也就相关自己不理解的问题在Google中搜索了一番,并 ...
- Torch-RNN运行过程中的坑 [0](一些基础概念)
0.Lua & LuaJIT简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴 ...
- ionic 运行过程中动态切换API服务器地址
ionic 运行过程中动态切换API服务器地址 keywords: ionic,phonegap,cordova,网络制式,动态切换,变更,API,服务器地址,$resource,localstora ...
- Torch-RNN运行过程中的坑 [2](Lua的string sub函数,读取中文失败,乱码?)
0.踩坑背景 仍然是torch-rnn/LanguageModel.lua文件中的一些问题,仍然是这个狗血的LM:encode_string函数: function LM:encode_string( ...
- HOWTO - Basic MSI安装包在安装运行过程中如何获取完整源路径
有朋友问到如何在一个Windows Installer安装包中获取安装包源路径,就是在安装包运行过程中动态获取*.msi所在完整路径. 这个问题分两类,如果我们的安装包只是一个*.msi安装文件,那么 ...
- SQL优化过程中常见Oracle HINT
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...
- (转)在.NET程序运行过程中,什么是堆,什么是栈?什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗?“结构”对象可能分配在堆上吗?什么情况下会发生,有什么需要注意的吗?
转自:http://www.cnblogs.com/xiaoyao2011/archive/2011/09/09/2172427.html 在.NET程序运行过程中,什么是堆,什么是栈? 堆也就是托管 ...
- Loadrunner脚本回放无法准确定位欲删除元素
Loadrunner脚本回放无法准确定位欲删除元素 问题: loadrunner脚本回放无法准确定位欲删除元素 详细: 我司ocrm系统,我的工作台菜单->我的综合工作台子页面下,工作日志页面删 ...
随机推荐
- android 4.4删除短信
android 4.4之后非默认的短信应用已经没有办法删除短信了.像以前那样用如下方法是不会没法删除短信的(即使在xml中配置了短信的读写权限),同时也不会有报错或其他提示. public void ...
- Appium+python自动化5-Appium Inspector
前言 appium Inspector从入门到放弃!反正你都打开了,那就看下为什么要放弃吧! Appium Inspector是appium自带的一个元素定位工具,上一篇介绍了如何使用uiaut ...
- 告别恶心的CGRect设置
FrameAccessor https://github.com/AlexDenisov/FrameAccessor Manual Install(手动安装) All you need to do i ...
- 通过@Value注解读取.properties配置内容
@Controller @RequestMapping("/value") public class ValuePropertyController extends Applica ...
- 分享JavaScript获取网页关闭与取消关闭的事件
在做Web开发时,我们经常用到页面关闭事件onbeforeunload,可以给用户一个选择放弃关闭的机会,就比如这个博客编辑器.如果用户选择了离开,那么onunload事件自然会触发:但若用户选择了取 ...
- mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
mariadb-日志 IT_luo关注0人评论65人阅读2018-10-15 08:59:03 mariadb日志 mariadb日志: 1.查询日志:query log: 2.慢查询日志:slo ...
- STL队列 之FIFO队列(queue)、优先队列(priority_queue)、双端队列(deque)
1.FIFO队列 std::queue就是普通意思上的FIFO队列在STL中的模版. 1.1主要的方法有: (1)T front():访问队列的对头元素,并不删除对头元素 (2)T back(): ...
- 最小均方算法(LMS Algorithm)理论及DSP实现
LMS算法可认为是机器学习里面最基本也比较有用的算法,神经网络中对参数的学习使用的就是LMS的思想,在通信信号处理领域LMS也非常常见,比如自适应滤波器. 本文主要对LMS(Least Mean Sq ...
- 解决报错"Your security system have blocked an application with expired or not yet valid certificate from running"
方法如下: Go to Control Panel Java in the Security tab click the "Edit Site List-" button clic ...
- docker 基本原理及快速入门
作者地址:青牛 什么是docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来 ...