.net 开发环境 实现loadrunner对ajax的支持

上一篇 / 下一篇  2012-04-26 17:27:23 / 个人分类:性能测试

.net 开发环境 实现loadrunnerajax的支持

我们公司开发了一套电子商务网站,为了防止用户工具在很多地方程序都采取了对ajax请求的判断,也就是说服务器判断不是ajax的请求就不提供正常的工作

loadrunner对javascrip和ajax的处理能力非常有限,用录制脚本的方式无法记录用户的动作,查了网上的一些文档得到的结论,是不管你客户端是什么工具,真正在服务器端收到的都是http协议的内容,通过这个思路思考下去,只要我能模拟浏览器对服务器的ajax提交请求就能解决这个问题,通过firebug发现服务器是判断客户端请求的header中有X-Requested-With就认为是ajax请求

判断是否为ajaxRequest 在http请求头中查找是否包含X-Requested-With,并且值为XMLHttpRequest

C# Code
string sheader = Request.header["X-Requested-With"];
bool isAjaxRequest = (sheade != null && sheader == "XMLHttpRequest") ? true : false;
所以只要在协议为ajax的脚本中在关键位置前插入 web_add_heade就能实现loadrunner对ajax的伪造
     web_add_header("X-Requested-With","XMLHttpRequest");
    
     web_custom_request("31",
          "URL=http://{ip}/UserHome/AddPromotionReserve/34",
          "Method=POST",
          "Resource=0",
          "RecContentType=text/html",
          "Referer=http://{ip}/UserHome/UserInfo",
          "Snapshot=t214.inf",
          "Mode=HTTP",
          "EncType=",
          LAST);

TAG: ajax AJAX LoadRunner loadrunner

 

评分:0

我来说两句

Open Toolbar