重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1. 分析ajax数据
10年积累的成都网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有连城免费网站建设让你可以放心的选择与我们合作。
2. 提取抓取的js数据, 然后使用Rhino js引擎执行js并且获取提取结果. (速度还是有些影响的)
以下代码采用AES192,128的类似
var crypto = require('crypto');var key = crypto.randomBytes(192/8); // 替换成自己需要的keyvar iv = crypto.randomBytes(128/8); // 替换成自己需要的ivvar algorithm = 'aes192';function encrypt(text){ var cipher = crypto.createCipheriv(algorithm, key, iv);
cipher.update(text); return cipher.final('hex');
}function decrypt(encrypted){ var decipher = crypto.createDecipheriv(algorithm, key, iv);
decipher.update(encrypted, 'hex'); return decipher.final('utf8');
}var content = 'hello';var crypted = encrypt('hello');console.log( crypted ); // 输出:1b87be446405ff910cd280ae6aa0423fvar decrypted = decrypt( crypted );console.log( decrypted ); // 输出:he
k6是新兴的性能测试框架,比肩jmeter,另外测试脚本使用js,更加适合自动化的架构。
k6启动的框架是使用golang的cli标准框架cobra,入口函数
进入cobra框架后,我们直接查看getRunCmd,这个是命令run的入口,主要工作都是从这里开始。
重点关注初始化Runner,这个是通过js脚本,使用goja库解析后,生成的实际执行单元。
进入js目录,查看Runner的结构,runner.go
Runner有一些配置属性,另外还有方法,方法用lib.Runner的接口进行规范。
Runner有一个NewVU方法,里面定义了连接参数,实现api测试
返回主函数,在初始化完成Runner后,启动调度器,以及做结果收集
最终封装成一个engine
启动测试
根据返回的字符串可以看出是多个json拼接成的js数组的形式。
如果返回的只是字符串须现将字符串转成js对象。
使用Jquery的$.each()方法循环js数组取出每一个json对象的数据。
str = '[{"key":"value","keys":[{"key1":"value1","key2":"value2"},{"key1":"value3","key2":"value4"}],"obj":{"id":1,"msg":"success"}}]';
str_json = eval("(" + str + ")");//将字符串转换成js对象
$.each(str_json,fucntion(a,b){
alert(a);//弹出数组的key
alert(b.id);//弹出要取出的数据
});
在后台将对象转换成json字符串
如,一个student对象有name,age json: '{"name":"godelegant","age":12}' 然后在前台将此字符串给javascript变量。
var objStr = '{"name":"godelegant","age":12}';
alert(objStr);
var student = eval(objStr);
alert(student); //[object]
alert(student.name); //godelegant
alert(student.age); //12
这样就得到了一个JS的对象.