LoadRunner Transactionにリダイレクトの問題が含まれています


ユーザーが制限されたリソースにログインまたはアクセスすると、リダイレクトされることがよくあります.この場合、LoadRunnerの1つのTransactionには2つ以上のリクエストが含まれます.どのように分割しますか?
以下の構成を使用します(LR 12.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
', 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リクエストの返信コードを直接取得することができ、毎回マッチングして解析する必要はありません.
web.getIntProperty(web.HTTP_INFO_RETURN_CODE);

また、LR 12.5対JSコード:web.setOption("MaxRedirectionDepth","0")の解析に問題があり、昨日LR Teamに聞いたばかりで、JSのサポート上の問題で、JSは外の皮だけで、中の実装は実際には呼び出しのCのもので、結局このAPIを実現する時にBUGが現れた.
API実装ではサポートのみ
web.setOption(「MaxRedirectionDepth」,「0」,「LAST」)という方式.