51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7397|回复: 17
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    跳转到指定楼层
    1#
    发表于 2010-8-20 08:53:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    但遇到了下面几个问题:
    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不太了解,请有相关经验的同仁指教下,谢谢了
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
     楼主| 发表于 2010-8-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
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
     楼主| 发表于 2010-8-20 18:54:20 | 只看该作者
    另,我和同事都使用9.52版本录制
    我录制出来的,都是flex_web_request()这样的函数,他录制出来的是:flex_amf_call()这样的

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


    奇了怪了。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    4#
    发表于 2010-8-20 20:29:50 | 只看该作者
    设置不一样吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    5#
     楼主| 发表于 2010-8-20 22:23:37 | 只看该作者
    recording options 检查了两三遍,都是一样的。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    6#
     楼主| 发表于 2010-8-21 11:43:16 | 只看该作者
    flex_web_request()
    今天我同事录制的脚本,也变成这种了。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    7#
    发表于 2010-8-23 21:22:04 | 只看该作者
    没遇到过
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    8#
     楼主| 发表于 2010-8-24 08:39:04 | 只看该作者
    有没有其他人遇到过呢??
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    9#
     楼主| 发表于 2010-8-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"
      "\\x81\\x13Oflex.messaging.messages.RemotingMessage\r"
      "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 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    10#
     楼主| 发表于 2010-8-26 16:08:07 | 只看该作者
    用户登录后,server的响应信息也查了下,并没有什么uid相关的信息。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    11#
     楼主| 发表于 2010-8-27 13:24:08 | 只看该作者
    通过开发配合,已找到uid相对应的值(请求中使用到一个未加密的uid,及一个加密的uid)

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


    flex脚本中注意项:
    1、dsid需要关联;
    2、jsessionid可不关联(确认过不关联不会有影响),当然也可以进行关联;
    3、程序中使用到的一些特殊id,如本次测试使用到的用户ID(uid)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-2-28 12:22
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    12#
     楼主| 发表于 2010-8-27 13:28:52 | 只看该作者
    目录录制的脚本,都是
    flex_web_request()这样的函数

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

    flex_amf_call这种,在Tree中可以比较方便的查看服务器响应信息,做关联时,很方便
    flex_web_request这种在Tree中查看不到服务器响应信息,做关联时,只能通过replay log中server的响应来进行关联,较麻烦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    13#
    发表于 2010-8-29 11:57:51 | 只看该作者
    其实不需要在Tree中查看,用httpwatch之类的工具来看更方便
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 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  ,有了解的可随时和我联系。谢谢。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2010-12-16 20:57:28 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2010-12-16 21:44:56 | 只看该作者
    现在很多flex 游戏啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2012-2-1 11:06:01 | 只看该作者
    楼主说缺少程序中的类这个问题解决了吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2012-3-6 17:18:10 | 只看该作者
    我也报缺少类,没解决。谁能帮解决一下呀
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-27 20:27 , Processed in 0.083083 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表