軟體測試中Flex程式效能測試

來源:互聯網
上載者:User

簡介: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 端是類同的。

圖 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 。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.