51Testing软件测试论坛

标题: 求助!!!!loadrunner录制脚本时是如何处理javascript生成的cookie的?????? [打印本页]

作者: 钱进    时间: 2015-1-19 14:51
标题: 求助!!!!loadrunner录制脚本时是如何处理javascript生成的cookie的??????
在录制LoadRunner脚本时,使用URL-based script模式,录制后的脚本里自动生成了一个web_add_cookie函数,如下(DOMAIN就不po出来了):

web_add_cookie("TS8e49d4_75=4f9324aadb385445e9599c4d6d62073a:kmnm:fpFSMbO6:932040046; DOMAIN=XXXXX");


查看对应的HTML页面,发现该cookie是javascript生成的,每次请求页面,cookie的值都不一样,现在想用关联方法来解决cookie值的问题,

但脚本是基于C的,没办法执行javascript语句,所以有两个问题请教各位高手:

1、如何才能获取由javascript生成的cookie?

2、LoadRunner是如何通过执行页面javascript脚本来获取到cookie的?是否可以通过模拟该方法来解决javascript生成cookie的问题?

HTML页面代码(部分)如下:

var c = 664419713
var slt = "2MRKTAT9"
var s1 = 'o'
var s2 = 's'
var n = 4
var start = s1.charCodeAt(0);
var end   = s2.charCodeAt(0);
var arr = new Array(n);
var m = Math.pow(((end - start) + 1),n);
for (var i=0; i<n; i++)
arr = s1;
for (var i=0; i<m-1; i++){
for(var j=n-1; j>=0;--j) {
var t = arr[j].charCodeAt(0);
t++; arr[j] = String.fromCharCode(t);
if (arr[j].charCodeAt(0)<=end) {
break;} else { arr[j] = s1 ;}}
var chlg = arr.join(""); var str = chlg + slt;
var crc = 0;
var crc = crc ^ (-1);
for( var k = 0, iTop = str.length; k < iTop; k++ ){ crc = (crc >> 8) ^ ("0x" + table.subst
r(((crc ^ str.charCodeAt(k) ) & 0x000000FF) * 9, 8));}
crc =  crc ^ (-1);
crc = Math.abs(crc);
if (crc == parseInt(c)){break;}}
document.cookie = "TS8e49d4_75=" + "9f80a67c7d181d92de8372ad6924de85:" + chlg + ":" + slt + ":" + crc + ";Max-Age=3600;path=/";

作者: 512benum1    时间: 2015-1-19 16:51
删除了就行了
作者: 512benum1    时间: 2015-1-19 16:51
“web_add_cookie("TS8e49d4_75=4f9324aadb385445e9599c4d6d62073a:kmnm:fpFSMbO6:932040046; DOMAIN=XXXXX");”所有有 web_add_cookie的删除就行了

作者: 512benum1    时间: 2015-1-19 16:52
web_add_cookie("TS8e49d4_75=4f9324aadb385445e9599c4d6d62073a:kmnm:fpFSMbO6:932040046; DOMAIN=XXXXX");
有web_add_cookie的删除就行了
作者: 512benum1    时间: 2015-1-19 16:54
web_add_cookie("TS8e49d4_75=4f9324aadb385445e9599c4d6d62073a:kmnm:fpFSMbO6:932040046; DOMAIN=XXXXX");
有web_add_cookie的都删除了
作者: 骚年燕    时间: 2015-1-20 14:08
cookie直接删除
作者: 钱进    时间: 2015-1-21 17:00
512benum1 发表于 2015-1-19 16:51
“web_add_cookie("TS8e49d4_75=4f9324aadb385445e9599c4d6d62073a:kmnm:fpFSMbO6:932040046; DOMAIN=XXXXX ...

非常感谢!

另外遇到一个问题,LoadRunner执行web_custom_request函数时,返回Error -27492: "HttpSendRequest" failed  Windows error code=12002,错误,导致程序结束运行,我现在想做到:即使出现上述错误,我也能重新发送请求。这样怎么实现呢?

我试着将web_custom_request函数返回值赋给一个变量i,然后在请求函数后面判断i的值来决定是否重新发送请求,但实际上web_custom_request返回error后就不再往下执行,导致判断语句没有被执行。

请问该怎么办才能在返回error后继续执行程序呢?
作者: 钱进    时间: 2015-1-21 17:00
骚年燕 发表于 2015-1-20 14:08
cookie直接删除

谢谢!
作者: 钱进    时间: 2015-2-10 13:36
up!!!!   问题仍然存在,求高手能帮忙
作者: 地壳    时间: 2015-2-11 09:32
钱进 发表于 2015-1-21 17:00
非常感谢!

另外遇到一个问题,LoadRunner执行web_custom_request函数时,返回Error -27492: "HttpSen ...

设置Run-time Setting——General——Miscellaneous;Error Handing中选择“Continue on error”
作者: 钱进    时间: 2015-2-12 13:40
地壳 发表于 2015-2-11 09:32
设置Run-time Setting——General——Miscellaneous;Error Handing中选择“Continue on error”

谢谢,这个问题解决了,但是最根本的javascript生成cookie问题没有解决,能帮忙指点一下吗?
作者: 钱进    时间: 2015-3-1 08:36
up!!!!!!!!!!!!!!!!!!!求高手解惑啊!!!!!
作者: 钱进    时间: 2015-3-2 12:24
再次up,希望大神能帮忙解决!!!!
作者: 钱进    时间: 2015-3-5 08:50
up!!!!!!不能沉




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2