51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4040|回复: 13
打印 上一主题 下一主题

[求助] 求助!!!!loadrunner录制脚本时是如何处理javascript生成的cookie的??????

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-1-19 14:51:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在录制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=/";
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2015-1-19 16:51:06 | 只看该作者
删除了就行了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2015-1-19 16:51:58 | 只看该作者
“web_add_cookie("TS8e49d4_75=4f9324aadb385445e9599c4d6d62073a:kmnm:fpFSMbO6:932040046; DOMAIN=XXXXX");”所有有 web_add_cookie的删除就行了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2015-1-19 16:52:44 | 只看该作者
web_add_cookie("TS8e49d4_75=4f9324aadb385445e9599c4d6d62073a:kmnm:fpFSMbO6:932040046; DOMAIN=XXXXX");
有web_add_cookie的删除就行了
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2015-1-19 16:54:20 | 只看该作者
web_add_cookie("TS8e49d4_75=4f9324aadb385445e9599c4d6d62073a:kmnm:fpFSMbO6:932040046; DOMAIN=XXXXX");
有web_add_cookie的都删除了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-14 15:45
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]测试营长

    6#
    发表于 2015-1-20 14:08:46 | 只看该作者
    cookie直接删除
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2015-1-21 17:00:17 | 只看该作者
    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后继续执行程序呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2015-1-21 17:00:33 | 只看该作者

    谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2015-2-10 13:36:26 | 只看该作者
    up!!!!   问题仍然存在,求高手能帮忙
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-10-27 14:21
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]测试军长

    10#
    发表于 2015-2-11 09:32:19 | 只看该作者
    钱进 发表于 2015-1-21 17:00
    非常感谢!

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

    设置Run-time Setting——General——Miscellaneous;Error Handing中选择“Continue on error”
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2015-2-12 13:40:18 | 只看该作者
    地壳 发表于 2015-2-11 09:32
    设置Run-time Setting——General——Miscellaneous;Error Handing中选择“Continue on error”

    谢谢,这个问题解决了,但是最根本的javascript生成cookie问题没有解决,能帮忙指点一下吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2015-3-1 08:36:57 | 只看该作者
    up!!!!!!!!!!!!!!!!!!!求高手解惑啊!!!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2015-3-2 12:24:57 | 只看该作者
    再次up,希望大神能帮忙解决!!!!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-23 02:14 , Processed in 0.074590 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表