• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Flex程序性能測試

    發布: 2009-7-07 12:13 | 作者: 網絡轉載 | 來源: 領測軟件測試網 | 查看: 647次 | 進入軟件測試論壇討論

    領測軟件測試網 簡介:Adobe 的 Flex 已經越來越流行,但是 Flex 程序的性能測試卻還沒有很好的工具。包括著名的性能測試工具 LoadRunner 都還沒有對新版本 Flex 性能測試有很好的支持。筆者在實際工作的研究中,發現了一個好的測試 Flex 程序的方式。本文重點介紹性能測試中如何處理 Flex 的 AMF 消息。 本文采用的測試工具是 The Grinder, 開發語言是 Jython 和 Java 。

      關鍵字:Flex 測試、 Flex 性能測試、 AMF Message 解碼

      1. Flex 程序性能測試的困惑

      Flex 默認使用的是 AMF 協議進行傳輸。 AMF 協議在瀏覽器與 Server 端的交互是通過 HTTP 協議進行傳輸, 如圖 1-1 。 Client 端發到 Server 端:首先是 Action Script 的對象,包裝進 AMF Message , AMF Message 對象再被序列化成二進制數組,存入 HTTP POST 請求的 Data 域中, 數據傳到服務器后,反序列化成 Java 版 AMF Message 對象, Server 端 Flex 框架再把 AMF Message 中的業務對象取出來發送到對應的服務器端 Java 對象。 Server 端到 Client 端是類同的。
     

    Flex程序性能測試

      圖 1-1 Flex AMF Message 的傳輸

      當用腳本錄制器把 AMF Message 錄制下來時, 是一串人不可讀的二進制數組。

      result = request1201.POST( '/home/messagebroker/amfsecure' +

      '?RND' ,

      ( 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x04 ,

      0x6E , 0x75 , 0x6C , 0x6C , 0x00 , 0x02 , 0x2F , 0x31 ,

      0x00 , 0x00 , 0x00 , 0xCB , 0x0A , 0x00 , 0x00 , 0x00 ,

      0x01 , 0x11 , 0x0A , 0x81 , 0x13 , 0x4D , 0x66 , 0x6C ,

      0x31 , 0x30 , 0x37 , 0x37 , 0x34 , 0x32 , 0x45 , 0x31 ,

      ... ,

      0x07 , 0x6E , 0x69 , 0x6C , 0x01 , 0x04 , 0x00 , ),

      ( NVPair( 'Content-Type' , 'application/x-amf' ), ))

      如果不需要對發出去的 AMF Message 做任何參數化,直接回放腳本即可。 但是如果想要看懂 AMF 消息里面的內容,或者需要依據實際情況修改 AMF 消息中的內容后再發出去, 那么就要想辦法把二進制的數組解析出來。如前面所訴,這個二進制的數組,其實是 AMF Message 對象序列化后的數據。 可惜的是,這個序列化算法是 Adobe 自定義的,普通的 Java 反序列化,并不能解析出來, 并且解析成 AMF Message 對象以后,還需要重新序列化成二進制,發送到服務器端。筆者曾經嘗試過多種辦法解析和編碼 AMF Message 對象, 最后找到一個方法可以很好的編碼和解析 AMF Message ,并在實際測試中予以運用, 這個方法同時適用于 The Grinder, 和 LoadRunner 。

      2. 解析和編碼 Flex AMF Message

      首先在已部署的 Flex 應用程序中找到 flex-messaging.jar 、 flex-messaging-common.jar 兩個包, 通常在 war/WEB-INF/lib 目錄下。

      開啟 Eclipse 創建一個 Java Object 引用這兩個包,創建一個類 AMFTransformer ,專門負責解析和編碼 AMF Message 。

      載入以下對象:

      import flex.messaging.io.SerializationContext;

      import flex.messaging.io.amf.ActionContext;

      import flex.messaging.io.amf.ActionMessage;

      import flex.messaging.io.amf.AmfMessageDeserializer;

      import flex.messaging.io.amf.AmfMessageSerializer;

      解碼 , 二進制到 AMF Message 對象, 利用 AmfMessageDeserializer 類:

    Flex程序性能測試

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: Flex 程序 性能測試

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>