[转载]LoadRunner如何处理AJAX异步请求

最近在网上经常有人问“LoadRunner脚本回放成功,但数据没有写入数据库,这是什么原因”,记得以前的同事也遇到过相同的问题,再次将解决方法贴出来,希望能帮助大家。

相信大家在做测试的过程中,特别是B/S的应用程序,或多或少都会遇到研发用AJAX或者ActiveX实现的功能,而这些功能通常会包含一些客户端函数(一般为JavaScript),我们知道,LoadRunner主要是处理客户端与服务器之间的交互,因此针对于JavaScript是无能为力的,那么,针对于这类情况我们需要如何处理呢?其实大家可以仔细想想LoadRunner的原理,Loadrunner主要是基于协议来进行性能测试的,不管AJAX或者ActiveX在客户端做了多少事情,只要它是通过HTTP协议来发送请求的,那么我们就只需要模拟这个请求就可以完成测试了。

以下是之前同事遇到的该类问题:测试融资融券业务时,脚本能正常回放成功,但提交的数据未写入后台数据库,通过与研发沟通及抓包工具,了解到研发在实现融资融券品种的交易业务时,采用了AJAX技术进行提交数据,下图为抓包工具的截图: 
这里写图片描述

因此为解决该问题,需要在提交数据的请求前添加相关的包头方法,如下: 
这里写图片描述

再次回放,提交的数据能正常写入数据库了,至此问题解决。

解决方法为:

最前面添加请求头信息

web_add_header("x-ajaxpro-method","RZBuy")

原文地址:https://www.cnblogs.com/dvbbs2012/p/5442615.html