使用LR9.52版本进行flex网页游戏测试

上一篇 / 下一篇  2010-08-27 13:24:41 / 个人分类:LoadRunner

查看( 1643 ) / 评论( 17 )
但遇到了下面几个问题:
1、录制完成生成脚本时,会提示找不到一些类,这些类为程序代码中使用的类;
但我有让开发把java程序整个打成jar包,并加到recording options中
我打开开发打的jar包,确认里面存在那些提示找不到的class文件

为什么还会报说找不到类呢?还是因为打jar包有什么注意事项?


2、使用flex+http协议录制脚本后,回放时,总报错:

Action.c(161): Error: Decoding of AMF message failed. Error is : Externalizable parsing failed:

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at hp.flex.HPExternalizableWrapper.ReadObject(HPExternalizableWrapper.java:96)
Caused by: flex.messaging.MessageException: Cannot create class of type 'DSK'. Type 'DSK' not found.
        at flex.messaging.util.ClassUtil.createClass(ClassUtil.java:65)
        at flex.messaging.io.AbstractProxy.createInstance(AbstractProxy.java:84)
        at flex.messaging.io.amf.Amf3Input.readScriptObject(Amf3Input.java:409)
        at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:149)
        at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:128)
        ... 5 more

3、使用amf+http协议录制脚本后,回放时,报错:

Start auto log messages stack - Iteration 1.
Action.c(188):     edData\x13faultCode\x13messageId\n
Action.c(188):     \x03\x01\x01\x01\x06I57FF2F4E-B30A-E366-3E35-89248BD292C8\x01\x06俥Detected duplicate HTTP
Action.c(188):     -based FlexSessions, generally due to the remote host disabling session cookies. Session c
Action.c(188):     ookies must be enabled to manage the client connection correctly.\x01\x05\x00\x00\x00\x00\x00
Action.c(188):     \x00\x00\x00\x06\x1FlogInFlexRemote\x05Br痈\xC0\x00\x01\x06UServer.Processing.DuplicateS
Action.c(188):     essionDetected\x06IDAE33E60-CC0B-A2AD-2516-AFCC95DAD83A
Action.c(188): t=106852ms: Request done "http://IP/loginserver/messagebroker/amf;jsessionid=A774AD66163D9034C1A0C57E4F6C1C88"

        [MsgId: MMSG-26000]
Action.c(188): Error: Server returned error for message #1 : description="AMF call returned an error, described in XML seen in extended log"
End auto log messages stack.


对flex不太了解,请有相关经验的同仁指教下,谢谢了

TAG: flex Flex loadunner

不断的前进ING。。。 fairylly 发布于2010-08-20 18:50:19
3、使用amf+http协议录制脚本后,回放时,报错:

Start auto log messages stack - Iteration 1.
Action.c(188):     edData\x13faultCode\x13messageId\n
Action.c(188):     \x03\x01\x01\x01\x06I57FF2F4E-B30A-E366-3E35-89248BD292C8\x01\x06俥Detected duplicate HTTP
Action.c(188):     -based FlexSessions, generally due to the remote host disabling session cookies. Session c
Action.c(188):     ookies must be enabled to manage the client connection correctly.\x01\x05\x00\x00\x00\x00\x00
Action.c(188):     \x00\x00\x00\x06\x1FlogInFlexRemote\x05Br痈\xC0\x00\x01\x06UServer.Processing.DuplicateS
Action.c(188):     essionDetected\x06IDAE33E60-CC0B-A2AD-2516-AFCC95DAD83A
Action.c(188): t=106852ms: Request done "http://IP/loginserver/messagebroker/amf;jsessionid=A774AD66163D9034C1A0C57E4F6C1C88"

        [MsgId: MMSG-26000]
Action.c(188): Error: Server returned error for message #1 : description="AMF call returned an error, described in XML seen in extended log"
End auto log messages stack.



这个问题可以确认,是因为dsid没有关联导致的问题;
关联后解决该问题


但第二点中,下面这个问题,还存在:
这个真是一点头绪都没有了。。。
而且奇怪的是,一会有一会没有。。。
同样的操作,录制两次,一次正常,一次不正常,diff过两次的代码也没什么差异,有可能导致这个的。。。


Action.c(161): Error: Decoding of AMF message failed. Error is : Externalizable parsing failed:

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at hp.flex.HPExternalizableWrapper.ReadObject(HPExternalizableWrapper.java:96)
Caused by: flex.messaging.MessageException: Cannot create class of type 'DSK'. Type 'DSK' not found.
        at flex.messaging.util.ClassUtil.createClass(ClassUtil.java:65)
        at flex.messaging.io.AbstractProxy.createInstance(AbstractProxy.java:84)
        at flex.messaging.io.amf.Amf3Input.readScriptObject(Amf3Input.java:409)
        at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:149)
        at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:128)
        ... 5 more
不断的前进ING。。。 fairylly 发布于2010-08-20 18:54:20
另,我和同事都使用9.52版本录制
我录制出来的,都是flex_web_request()这样的函数,他录制出来的是:flex_amf_call()这样的

他那种,需要做关联才有可能运行正常
我的,直接回放,不做关联可以回放成功。。。


奇了怪了。。。。
msnshow的个人空间 msnshow 发布于2010-08-20 20:29:50
设置不一样吧
不断的前进ING。。。 fairylly 发布于2010-08-20 22:23:37
recording options 检查了两三遍,都是一样的。。。。
不断的前进ING。。。 fairylly 发布于2010-08-21 11:43:16
flex_web_request()
今天我同事录制的脚本,也变成这种了。。。。
msnshow的个人空间 msnshow 发布于2010-08-23 21:22:04
没遇到过
不断的前进ING。。。 fairylly 发布于2010-08-24 08:39:04
有没有其他人遇到过呢??
不断的前进ING。。。 fairylly 发布于2010-08-26 15:58:13
目前使用flex_web_request()方式,基本可以满足需要

但遇到一个问题,没了头绪
脚本录制内容:登录、创建角色;
参数化用户和角色后,创建的角色,一直都创建到录制时的那个账户中

角色表中有一个uid是和用户表进行关联的,创建角色后uid一直都对应到录制时使用的那个账户的uid

寻找了很久,没有找到可进行关联的地方;

脚本如下:

flex_web_request("amf;jsessionid=FC5A37D2A1079F72BE603B9E5C33B107_4",
  "URL=http://192.168.146.13:8080/zzyserver/messagebroker/amf;jsessionid="
  "FC5A37D2A1079F72BE603B9E5C33B107",
  "Method=POST",
  "Resource=0",
  "RecContentType=application/x-amf",
  "Referer=http://192.168.146.13:8080/zzyserver/GameTest/Game3.swf",
  "Snapshot=t31.inf",
  "Mode=HTTP",
  "EncType=application/x-amf",
  "BodyBinary=\\x00\\x03\\x00\\x00\\x00\\x01\\x00\\x04null\\x00\\x02/"
  "4\\x00\\x00\\x01\\x95\n\\x00\\x00\\x00\\x01\\x11\n"
  "[url=file://\\x81\\x13Oflex.messaging.messages.RemotingMessage\r]\\x81\\x13Oflex.messaging.messages.RemotingMessage\r[/url]"
  "source\\x13operation\\x13timestamp\\x0Fheaders\t"
  "body\\x13messageId\\x11clientId\\x15timeToLive\\x17destination\\x01\\x"
  "06\\x13addAvatar\\x04\\x00\n\\x0B\\x01\\x15DSEndpoint\\x06\rmy-amf\t"
  "DSId\\x06I314632C8-2F1F-8B86-BD0C-6691AB082C70\\x01\t\\x03\\x01\n"
  "s'com.game.dao.Avatar\\x11serverId\\x17delPassword\\x07mid\\x11nickNam"
  "e\\x07uid\\x11avatarId\t"
  "type\\
x04\\x01\\x06\\x01\\x04\\x01\\x06\\x0Ftestabc\\x04\\x00\\x04\\x0"
  "0\\x04\\x01\\x06IAF9FC7B3-65C3-91D5-48FB-AD5F75725658\\x06I31463927-0B"
  "0C-2022-D00F-2B7A9DF25707\\x04\\x00\\x06!avatarFlexRemote",
  LAST);

“\\x11serverId\\x17delPassword\\x07mid\\x11nickName\\x07uid\\x11avatarId\ttype”
这部份是提交的参数;
testabc是对应nickname
avatarId及uid是动态的
其它值是固定的
对应了下,这两个都为\\x04\\x00”
这个感觉像是为空。。。

[ 本帖最后由 fairylly 于 2010-8-26 16:07 编辑 ]
不断的前进ING。。。 fairylly 发布于2010-08-26 16:08:07
用户登录后,server的响应信息也查了下,并没有什么uid相关的信息。。。。
不断的前进ING。。。 fairylly 发布于2010-08-27 13:24:08
通过开发配合,已找到uid相对应的值(请求中使用到一个未加密的uid,及一个加密的uid)

未加密的uid使用的是数值型
在AMF协议中,数值型数据会进行一定算法的转换,算法未知,所以无法对其进行参数化
后把uid修改为字符型,可正常参数化


flex脚本中注意项:
1、dsid需要关联;
2、jsessionid可不关联(确认过不关联不会有影响),当然也可以进行关联;
3、程序中使用到的一些特殊id,如本次测试使用到的用户ID(uid)
不断的前进ING。。。 fairylly 发布于2010-08-27 13:28:52
目录录制的脚本,都是
flex_web_request()这样的函数

不知道为什么一开始时是:flex_amf_call()

flex_amf_call这种,在Tree中可以比较方便的查看服务器响应信息,做关联时,很方便
flex_web_request这种在Tree中查看不到服务器响应信息,做关联时,只能通过replay log中server的响应来进行关联,较麻烦
msnshow的个人空间 msnshow 发布于2010-08-29 11:57:51
其实不需要在Tree中查看,用httpwatch之类的工具来看更方便
红色枫叶PL发布于2010-12-16 16:25:32
对于测试,我是新手,我下载了最新的 loadRunner11
在测试flex 应用程序时,也遇到这样的错误,
TestExternalizable Write Object throws exception:
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at hp.flex.HPExternalizableWrapper.TestObject(HPExternalizableWrapper.java:87)
对于相应的JAR包我都加载了,可不知为何还是会出错,
有哪 位朋友可以告诉我出错的原因。
我的QQ 380043051  ,有了解的可随时和我联系。谢谢。。。
test的个人空间 x2test 发布于2010-12-16 20:57:28

test的个人空间 x2test 发布于2010-12-16 21:44:56
现在很多flex 游戏啊
shuihan的个人空间 shuihan 发布于2012-02-01 11:06:01
楼主说缺少程序中的类这个问题解决了吗?
不知火舞发布于2012-03-06 17:18:10
我也报缺少类,没解决。谁能帮解决一下呀
我来说两句

(可选)

Open Toolbar