今天在优化脚本的时候,发现脚本中的用户名和密码是
加密显示的,如:MTg3NzQ5NzAwNjM=/。所以我直接修改用户名的值为我们平时输入的用户名,是不成功的。虽然脚本回放不会报错,但是实际登录操作不会被成功执行。
询问了一位大神,大神说要么问开发要到不同用户加密后的串,要么自己在脚本中,按照开发提供的方法,对用户名进行加密转换。
询问了公司的开发人员,开发人员给了我加密的代码,使用的是encode64,代码如下:
// base64加密开始 encode64-->
var keyStr = "ABCDEFGHIJKLMNOP" +"QRSTUVWXYZabcdef" +"ghijklmnopqrstuv" +"wxyz0123456789+/" + "=";
function encode64(input) {
var utput = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do
{
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)){
enc3 = enc4 = 64;
}else if (isNaN(chr3)){
enc4 = 64;
}
utput = output +
keyStr.charAt(enc1) +
keyStr.charAt(enc2) +
keyStr.charAt(enc3) +
keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return output;
}
//- base64加密结束
这是用
java写的代码,本人小白一枚,表示看不懂。而且,这个也不知道怎么用到LR中。据我所知,LR使用的语言是C语言。那么,问题来了?怎么用到LR中呢?
各种纠结中,决定把这个转换成C语言,想着C语言还能用把,于是找到了C语言中的编码方式,链接如下:
http://www.cnblogs.com/syxchina/archive/2010/07/25/2197388.html 还是看不懂,云里雾里。于是只能
百度了。百度上有关于"
LoadRunner实现Base64编解码方法" ,但是对于我这样的菜鸟来说,作者写得太简单了,看不懂。后面各种百度,综合各种博文上的说法,然后把整个过程,整理下来了,如下:
(由于字体受限,请看LoadRunner与encode64加密解密(2))