加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何用LR11测试flex开发的平台

发布时间:2020-12-15 03:47:49 所属栏目:百科 来源:网络整理
导读:【被测系统说明】以Flex为前端应用,JAVA为后台处理的B/S系统。flex3.5+jdk1.5+LR11 Flex做界面,Java处理后台业务逻辑 【测试脚本录制】 项目是Flex技术作为前端开发的应用,所以我们需要启动loadrunner的 Flex/Web 脚本。(采用双协议) 录制之前,有必要
【被测系统说明】以Flex为前端应用,JAVA为后台处理的B/S系统。flex3.5+jdk1.5+LR11
 Flex做界面,Java处理后台业务逻辑
 

【测试脚本录制】

项目是Flex技术作为前端开发的应用,所以我们需要启动loadrunner的Flex/Web脚本。(采用双协议)

录制之前,有必要说一下Flex的交互机制。浏览器作为客户端与服务器之间交互的媒介是amf,amf(二进制流)将服务器返回的数据编译后,到客户端进行解析,而本项目服务器端返回的数据解析后都是xml

录制协议的选择

①flex协议;(LR 11支持此协议的license为:AEACFSJI-YJKJKJJKEJIJD-BCLBR)

? ②flex+web(http/html)的双协议;(建议使用)客户端到服务端使用的依然是web协议,

录制脚本结束后可能出现提示你code generation error。主要是缺少了某些class之类的,如下几图:





这个什么DSK的当时开发都找不到相关的jar包,class,真不知道是什么东西来着。它是在我更换了电脑上jdk之后出现的。

图中的错误描述为“序列化错误——外部化对象类型不支持。”即脚本无法解析,这时需要引入一些JAVA? class,从而序列化生成由客户端与服务端产生的AMF消息,编译、解析二进制信息(Flex默认使用AMF协议进行通讯)。

引入JAVA class,缺少的包可在服务端如下位置取得:

WebRootWEB-INFlib(一般开发人员可提供如下包)

flex-messaging-common.jar

flex-messaging-core.jar

flex-messaging-opt.jar

flex-messaging-proxy.jar

flex-messaging-remoting.jar

flex-rds-server.jar;

jar存放位置最好为英文路径。引入了这些包后,生成脚本时若还提示缺少某些类,可与开发人员沟通获得。

引入方式:在Virtual user generator组件下,点击Tools->Recording Options->Flex->Externalizable Objects->选择序列化对象,通过自定义java class,如下图:


重新生成脚本时,可能还会缺少某些类,可与开发人员沟通获得;也有可能报如下错误:


? ? 提示为:bad version number in …..此错误为jdk版本不一致。因为此次项目的jdk版本为1.6,而LR11的默认jdk则为1.5(可在安装路径:…HPLoadRunnerjre下的readme文档中查看到)。

? ? 解决方法:可用最新jre1.6或jre1.7替换loadRunner11 下的jre即可解决这个问题(整个jre文件夹替换!)。将与被测系统版本一致的jre替换到“安装路径…HPLoadRunner”下的jre

? ? 至此问题解决,可以正常解析flex协议下所有请求数据了,录制到的脚本结构更加清晰,方便查阅与编辑。

? ? 若用web(html/http)的单协议方式,要选择url-based script的方式进行录制,但是录制到的脚本不是很清晰,不便于编辑。
==============================分割线,网上摘抄的===================================


回放前,先设置一下输出日志的内容,Vuser-->Run-time Settings-->log-->log messages at the detail level of-->Extended log中勾选Data returned by server(由服务端返回给客户端的数据) (如下图)

注意:这个日志选项会带来一些麻烦,如果服务器返回的是一个.swf页面的话,回放时,loadrunner解析返回输出数据的速度很慢,所以如果代码中有请求.swf资源,最好先注释掉这段代码,待调试结束后,再将代码还原



想看回放时,loadrunner提交的数据和服务器响应,可以进入Tree视图--snapshot页签内查看repaly时,loadrunner的request和服务器响应reponse


-------------------------------------------------------------------------------------

flex协议默认使用AMF协议进行通讯。部分文档内容可见链接:http://www.docin.com/p-318854950.html





LoadRunner对flex的支持:Loadrunner提供flex和amf两个 虚拟用户协议
AMF:


Flex:





--------------------===========---------------------====================---------
Flex 虚拟用户脚本函数:
Flex Vuser script emulate communication between a Flex client and a Flex application.













==============================================================
2个名词的解释:
AMF(Action Message Format)是ActionScript对象序列化后的二进制流。用于Adobe Flash应用和远端服务的通讯。由于它是基于二进制的数据传输,所以相对于XML SOAP,json,WebService等基于字符串的数据格式,有数据体积小和效率高的特点。


BlazeDS是一个 基于服务器Java远程调用(remoting)和 Web消息传递(messaging) 技术,使得后台的Java应用程序和运行在浏览器上的 Flex应用程序能够相互通信。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读