LoadRunner测试AJAX
什么是AJAX?
Ajax, shorthand for Asynchronous JavaScript and XML, is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change.This is meant to increase the web page's interactivity, speed, and usability.
The Ajax technique uses a combination of:
- XHTML (or HTML) and CSS, for marking up and styling information.
- The DOM accessed with a client-side scripting language, especially ECMAScript implementations such as JavaScript and JScript, to dynamically display and interact with the information presented.
- The XMLHttpRequest object is used to exchange data asynchronously with the web server. In some Ajax frameworks and in certain situations, an IFrame object is used instead of the XMLHttpRequest object to exchange data with the web server, and in other implementations, dynamically added <script> tags may be used.
- XML is sometimes used as the format for transferring data between the server and client, although any format will work, including preformatted HTML, plain text, JSON and even EBML. These files may be created dynamically by some form of server-side scripting.
Like DHTML, LAMP and SPA, Ajax is not a technology in itself, but a term that refers to the use of a group of technologies.
JSON
JavaScript Object Notation (JSON) is a lightweight format for representing
objects and their state. Major technology providers, such as Yahoo WS
and Microsoft ASP.NET, have chosen JSON for client-server data exchange
as an alternative to XML, because it can be parsed more easily than XML.
For example, JSON objects can be de-serialized by simply passing them to the JavaScript evalfunction.
LoadRunner支持的AJAX框架
LoadRunner支持的AJAX框架比较少,以下内容摘自http://www.wilsonmar.com/ajax_rec.htm:
HP has stated that they support these frameworks for AJAX functions:
- Atlas 1.0.10920.0/ASP.NET AJAX (All controls) (developed using Visual Studio 2005). LoadRunner 9.10 supported the Atlas 2.0 version in Visual Studio 2005.
- This is one generation behind the ASP.NET 3.5 AJAX AjaxControlToolkit shown on the their sample website. However, I have been able to use LoadRunner 9.51 to work with many MS AJAX 3.5 controls even though some controls are not being created during recording.
- Scriptaculous 1.8 — Autocomplete, Reorder List, and Slider
- Atlas 1.0.10920.0/ASP.NET AJAX (All controls) (developed using Visual Studio 2005). LoadRunner 9.10 supported the Atlas 2.0 version in Visual Studio 2005.
HP advertises that VuGen supports these frameworks at the "engine level", implying that VuGen will create Web Click and Script LoadRunner functions, but not LoadRunner's AJAX specific functions:
- Prototype 1.6
- Google Web Toolkit (GWT) 1.4
I've heard that additional licensing is needed for LoadRunner to support the Infragistics library. What is the HP product code for this, if it exists???
LoadRunner的AJAX函数
LR9.0:
VuGen supports recording for the following ASP.NET AJAX controls: Accordion, Collapsible Panel, Rating, Reorder List, and Slider.
|
Function Name |
Description |
|
Emulates a user extending or collapsing a menu. |
|
|
Emulates a user collapsing or expanding sections on a web page. |
|
|
Emulates a user setting a value of a rating control. |
|
|
Emulates a user reordering elements in a list. |
|
|
Emulates setting a value using a slider control. |
LR9.5:
The supported frameworks for AJAX functions are:
➤ Atlas 1.0.10920.0/ASP.NET AJAX—All controls
➤ Scriptaculous 1.8—Autocomplete, Reorder List, and Slider
VuGen supports the following frameworks at the engine level. This implies
that VuGen will create standard Web Click and Script steps, but not AJAX
specific functions:
➤ Prototype 1.6
➤ Google Web Toolkit (GWT) 1.4
|
Function Name |
Description |
|
Emulates a user extending or collapsing a menu. |
|
|
Selects an item from a list based on text entered in a field. |
|
|
Emulates a user collapsing or expanding sections on a web page. |
|
|
Emulates a user setting a value of a rating control. |
|
|
Emulates a user reordering elements in a list. |
|
|
Emulates setting a value using a slider control. |
|
|
Emulates use of folder-style tabs in Atlas applications. |
LoadRunner测试AJAX的例子
以asp.net ajax的在线samples为例:
http://www.asp.net/AJAX/AjaxControlToolkit/Samples/Slider/Slider.aspx
测试其中的slider,LoadRunner可以录制下脚本,并调用ajax_slider函数来处理slider控件的行为:
web_browser("Slider.aspx",
DESCRIPTION,
ACTION,
"Navigate=http://www.asp.net/AJAX/AjaxControlToolkit/Samples/Slider/Slider.aspx",
LAST);
ajax_slider("Slider",
DESCRIPTION,
"Framework=atlas",
"ID=ctl00_SampleContent_Slider1",
ACTION,
"UserAction=SetValue",
"Value=100",
LAST);
执行JavaScript的方法
使用web_browser函数,可以通过给EvalJavaScript属性赋值来执行javaScript语句,例如访问DOM,用EvalJavaScriptResultParam属性可以把语句执行的结果存入参数:
web_browser("keyId_Get",
ACTION,
"EvalJavaScript=document.getElementById(/"ctl00_SampleContent_Slider1_BoundControl/").innerText;",
"EvalJavaScriptResultParam=strValue",
LAST);
lr_output_message(lr_eval_string("{strValue}"));
LoadRunner测试AJAX的更多相关文章
- LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法
1.QTP11 下载地址:http://www.genilogix.com/downloads/unified-functional-testing/quicktest-professional-11 ...
- loadrunner测试ajax框架
loadrunner测试ajax框架的系统时,录制回放都没有报错,但是回放后系统中没有产生数据,解决方法 loadrunnerajax框架测试脚本headerajax [问题描述]用loadrunne ...
- LoadRunner测试ajaxweb程序攻略
用loadrunner测试WEB程序的时候总是会碰到AJAX或者ActiveX实现的功能,而通常这些功能会包含很多客户端函数(一般为JavaScript).我们该如何处理?如果从功能实现的角度去考虑这 ...
- 本地测试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.什 ...
- LoadRunner测试50人同时登陆下单
LoadRunner测试50人同时登陆下单 一.LoadRunner简介 LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找 ...
随机推荐
- 怎么在32位windows系统上搭建爬虫框架scrapy?
禁止转载: 自学python,然后搭建爬虫框架scrapy.费了我一上午的心血.终于搭建成功,以防以后忘记搭建流程,特此撰写此贴,开写 ******************************** ...
- 关于MYSQL表记录字段换行符回车符处理
http://hualong.iteye.com/blog/1933023 今天遇到一个非常奇葩的问题,数据库表中明明有值却查询不不出来,而然一次从单元格中复制到sql中,发现右侧单引号换行了,我初步 ...
- [BZOJ1227][SDOI2009]虔诚的墓主人 组合数+树状数组
1227: [SDOI2009]虔诚的墓主人 Time Limit: 5 Sec Memory Limit: 259 MBSubmit: 1433 Solved: 672[Submit][Stat ...
- 阿里云ECS(Centos7.2 64bit)安装Docker
购买了阿里云的ECS服务器后,一直在尝试安装Docker,使用过Ubuntu和CentOS系统,也一直在查找文档,但都是Docker安装完成后却无法访问,一直在ECS上不停的更换系统盘 再次按官方文档 ...
- HDU 2035.人见人爱A^B-快速幂
人见人爱A^B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- centos中pyenv安装
1.先安装git yum install git -y 2.克隆pyenv到本地 git clone git://github.com/yyuu/pyenv.git .pyenv 或自动安装 curl ...
- [BZOJ 1407] Savage
Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1407 Solution: 由于此题里n的范围很小,因此可以直接从小到大枚举m 那么问题转 ...
- 【贪心】【线性基】bzoj2460 [BeiJing2011]元素 / bzoj3105 [cqoi2013]新Nim游戏
p2460: #include<cstdio> #include<algorithm> using namespace std; #define N 1001 typedef ...
- 【dfs】bzoj3563 DZY Loves Chinese
因为我们可以通过把某一行读到末尾来获取真正的K,所以把它和假K异或之后就是之前联通的次数(异或的逆运算为其本身).最后一次的暴力一下. #include<cstdio> #include& ...
- 8.3(java学习笔记)动态编译(DynamicCompiler)与动态运行(DynamicRun)
一.动态编译 简单的说就是在运行一个java程序的过程中,可以通过一些API来编译其他的Java文件. 下面主要说动态编译的实现: 1.获取java编译编译器 2.运行编译器(须指定编译文件) 获取编 ...