loadrunner测试ajax框架
loadrunner测试ajax框架的系统时,录制回放都没有报错,但是回放后系统中没有产生数据,解决方法
loadrunnerajax框架测试脚本headerajax
【问题描述】用loadrunner测试ajax框架的系统时,录制回放都没有报错,但是回放后系统中没有产生数据,数据始终不能写入数据库。查了一下原因,应该是录制的脚本不完善的问题,因为JS是在客户端执行的程序,LR只能监控客户机与服务器之前的通信。
【解决方法】: Recording options> HTTP Properites> Advanced > Headers: 选择"Record headers not in list", 然后点ok。重新录制一遍脚本,会发现脚本里多出一些 web_add_auto_header, web_add_header函数。把这些函数中跟ajax相关的,加到原脚本里,重新回放,问题解决。
验证loadrunner对Ajax内容的校验
loadrunner11对网页AJAX的测试
业务流程:用户登录-搜索书籍-预订书籍
其中登录输入用户名和密码;搜索输入书籍名称点击button搜索;预订需要在书籍搜索结果点击书籍后面的request按钮,进入request页面,填写日期相关信息点击提交。
开始计划时,感觉这个脚本是最好录制的,于是把计划排在后面,但是在实际操作中遇到难题。
1.在预订书籍这个事务中,有二次提交数据,第一次是把书籍内容提交到表单,第二次是提交预订日期等信息。但是在这两次提交的数据中,找不到跟书籍有关的任何信息,无法对预订书籍事务进行参数化。
解决方法:
尝试1:对脚本中所有出现书籍名称的字段进行参数化,二个参数运行二次,第一次成功,第二次失败
尝试2:搜索的时候仅搜索出唯一一本书籍,只参数化搜索事务,二个参数运行二次,第一次成功,第二次失败
尝试3:设置loadrunner-record option-HTTP Property-Advanced-Header-Record header not in list. 重新录制,发现脚本多了许多web_add_auto_header,web_revert_auto_header函数,搜索的时候仅搜索出唯一一本书籍,只参数化搜索事务,二个参数运行二次,第一次成功,第二次失败
尝试4:协议选择AJAX,设置loadrunner-record option-HTTP Property-Advanced-Header-Record header not in list。设置参数二次运行二次,均成功。
AJAX预订脚本如下:
//search one book and request this book
lr_start_transaction("search");
lr_think_time(24);
//input book name
web_edit_field("query",
"Snapshot=t4.inf",
DESCRIPTION,
"Type=text",
"Name=query",
ACTION,
"SetValue={title}",
LAST);
//if on search result,this text will display
web_reg_find("Text=No results were found for your search request",
"SaveCount=count2",
LAST);
//click search button
web_button("INPUT_2",
"Snapshot=t5.inf",
DESCRIPTION,
"Type=submit",
"Tag=INPUT",
"ID=search_submit",
ACTION,
"UserAction=Click",
LAST);
if (atoi(lr_eval_string("{count2}"))==0)
{
lr_end_transaction("search", LR_PASS);
lr_output_message("search suss,because %d", atoi(lr_eval_string("{count2}")));
lr_output_message("search title is %s",lr_eval_string("{title}"));
}
else
{
lr_end_transaction("search", LR_FAIL);
lr_error_message("search fail,because %d", atoi(lr_eval_string("{count2}")));
}
//starting request transaction
lr_start_transaction("request");
lr_think_time(10);
web_check_box("listItems",
"Snapshot=t6.inf",
DESCRIPTION,
"Name=listItems",
ACTION,
"Set=ON",
LAST);
//click the request button
web_text_link("Request",
"Snapshot=t7.inf",
DESCRIPTION,
"Text=Request",
ACTION,
"UserAction=Click",
LAST);
lr_think_time(13);
web_list("mainLocationFilter",
"Snapshot=t8.inf",
DESCRIPTION,
"Name=mainLocationFilter",
ACTION,
"Select=Hong Kong Central (*1000000)",
LAST);
lr_think_time(5);
web_edit_field("expirationDate",
"Snapshot=t9.inf",
DESCRIPTION,
"Type=text",
"Name=expirationDate",
ACTION,
"SetValue=2011/08/08",
LAST);
web_reg_find("Text=Transaction Reference Number",
"SaveCount=count3",
LAST);
web_reg_find("Text=Your request has been submitted",
"SaveCount=count4",
LAST);
web_button("INPUT_3",
"Snapshot=t10.inf",
DESCRIPTION,
"Type=submit",
"Tag=INPUT",
"ID=id52",
ACTION,
"UserAction=Click",
LAST);
if (atoi(lr_eval_string("{count3}"))==1&&atoi(lr_eval_string("{count4}"))==1)
{
lr_end_transaction("request", LR_PASS);
lr_output_message("request suss,because %d", atoi(lr_eval_string("{count3}")));
}
else
{
lr_end_transaction("request", LR_FAIL);
lr_error_message("request fail,because %d", atoi(lr_eval_string("{count4}")));
}
loadrunner测试ajax框架的更多相关文章
- LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法
1.QTP11 下载地址:http://www.genilogix.com/downloads/unified-functional-testing/quicktest-professional-11 ...
- LoadRunner测试AJAX
什么是AJAX? Ajax, shorthand for Asynchronous JavaScript and XML, is a web development technique for cre ...
- LoadRunner测试ajaxweb程序攻略
用loadrunner测试WEB程序的时候总是会碰到AJAX或者ActiveX实现的功能,而通常这些功能会包含很多客户端函数(一般为JavaScript).我们该如何处理?如果从功能实现的角度去考虑这 ...
- jQuery-1.9.1源码分析系列(十六)ajax——ajax框架
ajax的介绍就不多说了,点击可看. 既然是ajax框架,那么闲谈一谈jQuery的ajax处理思路. 现在的浏览器都支持ajax,只不过不同的浏览器使用方法可能有不同(IE使用new window. ...
- 本地测试AJAX请求
要在本地测试AJAX,首先是环境的搭建,因为XHR对象的open方法中参数url是指文件在服务器上的文件.下面以WampServer为例. 1. 下载wamp的安装包,下载地址为:http://221 ...
- LoadRunner测试结果分析03 转载至zhangzhe的新浪博客
LoadRunner测试结果分析之我见 前面分析的Web Resource(网络资源)的测试情况,其主要关注的是服务器性能,而系统本身和环境都有可能存在问题,页面诊断(Web Page Diagnos ...
- LoadRunner测试结果分析02 转载至zhangzhe的新浪博客
LoadRunner测试结果分析之我见 上述测试过程的重点在于事务,而LoadRunner生成的测试结果图并不局限于事务上,其中还有是关于Vusers.Errors.Web Resources.Web ...
- LoadRunner测试结果分析01 转载至zhangzhe的新浪博客
LoadRunner测试结果分析之我见 LoadRunner生成测试结果并不代表着这次测试结果的结束,相反,这次测试结果的重头戏才刚刚开始.如何对测试结果进行分析,关系着这次测试的成功与否.网上关于L ...
- LoadRunner测试场景中添加负载生成器
如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什 ...
随机推荐
- IOS性能调优系列:使用Time Profiler发现性能瓶颈
硬广:<IOS性能调优系列>第五篇,预计会有二十多篇,持续更新,欢迎关注. 之前四篇都是关注于内存方面,分析了内存泄漏.僵尸对象.内存分配,本篇介绍Time Profiler工具的使用,开 ...
- Java设计模式の责任链模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其 ...
- Code::Blocks之自动打开上次未关闭工作空间
问题:如何设置Code::Blocks,使每次打开软件时,自动打开上次未关闭的工作空间? 设置(S) -> 环境设置...(E) -> 常规设置: 勾选"在程序启动时" ...
- hdu 3118 Arbiter
http://acm.hdu.edu.cn/showproblem.php?pid=3118 题意:删除最少的边使图没有奇环 二分图的定义:如果顶点能分为两个互不相交的子集,则图为二分图 二分 ...
- [洛谷P3228] [HNOI2013]数列
洛谷题目链接:[HNOI2013]数列 题目描述 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到: ...
- ③ 设计模式的艺术-09.组合(Composite)模式
使用组合模式的场景 类图当中有三个类,一个是Component(节点的统一接口),它的目的是为了统一节点的操作.接下来的两个实现类,一个则是非叶子节点(Composite),它可以有子节点.另外一个则 ...
- Linux 安装tomcat,搭建web app运行环境
Tomcat 8 下载地址:https://tomcat.apache.org/download-80.cgi 解压tomcat:tar -xf apache-tomcat-8.5.31.tar.gz ...
- NSURLSession---iOS-Apple苹果官方文档翻译
CHENYILONG Blog NSURLSession---iOS-Apple苹果官方文档翻译 NSURLSession 技术博客http://www.cnblogs.com/ChenYilong/ ...
- 2017ACM暑期多校联合训练 - Team 2 1003 HDU 6047 Maximum Sequence (线段树)
题目链接 Problem Description Steph is extremely obsessed with "sequence problems" that are usu ...
- vue登录/查看/结束端口号
下班时间到啦! --下班都是他们的,而我,还是什么都没有. vue登录(未登录情况下不允许进入) 在路由里加上登录的权限 meta: { requireAuth: true, title: 'Logi ...