欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


LoadRunner参数化功能详解
LoadRunner选项设置
LoadRunner常用函数
软件测试工具LoadRunner常见问题
猎豹免费Wifi开启失败的原因与解决办法
百度卫士抢票版上线
V16到V16+瑞星杀软全面提升查杀性能
百度卫士抢票版实战体验
有道云笔记历史记录教程
人生日历春运抢票日历新鲜出炉
LoadRunner登录脚本认证失败的原因及解决方法
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

  测试对象:某Web即时通讯系统(以下称WebIM)

  开发语言:XML

  数据通讯协议:Web(HTTP/HTML)协议、Windows Sockets协议

  底层数据库:Mysql

  服务器操作系统:Redhad 4

  脚本实现功能:登入系统后,再退出系统。

  问题1:录制开发的脚本可以成功回放,但是数据库的logout表里却查不到“登出”的用户?

  分析:录制的时候只选用了单协议:Web(HTTP/HTML)协议,而WebIM的实现不只用到了Web(HTTP/HTML)协议,也用到了 Windows Sockets协议。在定位了问题的"原因"之后,笔者尝试录制多协议的脚本,结果回放失败。回放失败是因为Webim在登录的过程中有个加密验证的过程。脚本回放时提交了上一次的经过Sha1加密后的密文,而此时服务器端的Sha1密文已经发生了改变。从而导致了失败。

  解决方法:

  a、使用双协议录制脚本

  b、开发Sha1算法的DLL文件并在脚本中调用。

  问题2:录制的脚本中并没有捕获到服务器返回的Session ID?

  分析和方案:Webim的开发用到了XML和Windows Sockets协议,因此按照正常的思路,Loadrunner在录制脚本时,也应该采用XML和Windows Sockets协议,但实际情况是这样的,录制的脚本中并没有捕获到服务器返回的Session ID。既然公司内网的Jabberd服务器有专门的测试客户端,笔者决定通过这个客户端录制脚本,由于这个客户端和服务器的通信协议是Windows Sockets,因此录制协议也采用了这个最底层的协议。这一次,录制的脚本中捕获到了服务器返回的Session ID。为了保证脚本回放时能够动态的获取到这个Session ID,需要做“关联”操作,笔者使用了lrs_save_searched_string()函数,对脚本做了处理。

  问题3:如何调用Dll来对服务器返回的序列和Password加密,以产生Sha1的密文?

  分析和方案:脚本中加载了Dll库文件后,在调用库文件中的加密函数对Session ID+Password字符序列加密时,必须采用如下格式endes(a,b),其中的a代表源序列,b代表密文。经过这样的步骤处理后,调试脚本,就可以看到密文了。

  问题4:Buf中参数化密文后,脚本还是不能编译通过,存在语法错误?

  分析和方案:发现Loadrunner参数化,是按照它内置的机制执行的,符合这个机制,编译就能通过。

  后来在Gen中的Tools—>general option中找到了可以更改这个机制的地方,修改完了之后,脚本再次编译,这次OK了。

  问题5:错误提示:没有足够的虚拟用户分配给这个NewPara?

  分析和方案:loadrunner中在对用户名和密码或其他数据参数化了以后,不要将参数删除后,重新参数化,否则就会出现上述问题。笔者决定重新录制脚本,重新参数化,重新修改脚本。事实证明这样做是正确的,编译运行后,5个虚拟用户的脚本正确无误的通过。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站