LoadRunner一个Transaction中包含重定向的问题

先吐个槽 这特么BLOG搬家搬得是个毛线啊 分类都成坑了行么?!


言归正传


在用户登录或者访问受限资源时候,往往会遇到重定向,在这种情况下,LoadRunner的一个Trasaction会包括两个甚至多个请求,如何拆分呢?


使用如下配置(LR12.5提供了JS的方式写Web-HTTP/HTML脚本了,妈妈再也不用担心我得一看C就会吐的病了):

web.setOption("MaxRedirectionDepth", "0");



然后写一个循环
lr.saveString('http//redirect.com','location');
	var httpResult ="";
	var i = 0;
web.setOption("MaxRedirectionDepth", "0", "LAST");
	do {
		lr.message("Start---->");

		web.regSaveParamEx({
			paramName : 'httpCode',
			lb : 'HTTP/1.1 ',
			rb : ' ',
			notFound : 'warning',
			scope : 'Headers'
		});
		web.regSaveParamEx({
			paramName : 'location',
			lb : 'Location: ',
			rb : '\r\n',
			notFound : 'warning',
			scope : 'Headers'
		});
		var transactionName ='tt'+i;
		lr.message(transactionName);
		lr.startTransaction(transactionName);
		lr.message("Visiting URL: " + reqURL);
		web.url({
			name : 'idm' + i,
			url : '{location}',
			recContentType : 'text/html'
		});
		lr.message("Redirect URL is: " + lr.evalString("{location}"));
		httpResult = lr.evalString("{httpCode}");
		lr.endTransaction(transactionName, lr.AUTO)
		i++;
		lr.message("END<----");
	} while (httpResult == "302");



原理就是一旦发现HTTP response code 是302,就去解析response header,找出要跳转的地方保存下来,循环去做就可以了。


另外 使用如下API可以直接获取上一次HTTP请求的返回code,不用每次都去匹配解析一下:
web.getIntProperty(web.HTTP_INFO_RETURN_CODE);



再另外, LR12.5对JS代码: 

web.setOption("MaxRedirectionDepth", "0")

的解析是有问题,昨天刚询问了LR Team,是一个JS的支持上的问题,JS只是外面一层皮,里面的实现实际上还是调用的C的东西,结果在实现这个API的时候出现了BUG。


在API实现上仅支持了
web.setOption("MaxRedirectionDepth", "0","LAST")这种方式。


最后 看了下分类首页的分类。。 哎 , 默默的只能选择综合 =。= 已经离热点这么远了么?



移动开发Web前端架构设计编程语言互联网数据库系统运维云计算研发管理综合

移动开发 Web前端 架构设计 编程语言 互联网 数据库 系统运维 云计算 研发管理 综合

你可能感兴趣的:(LoadRunner)