中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex程序如何實現性能測試

發布時間:2021-12-04 16:15:40 來源:億速云 閱讀:133 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Flex程序如何實現性能測試”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Flex程序如何實現性能測試”這篇文章吧。

Flex程序性能測試

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

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

圖1-1FlexAMFMessage的傳輸

Flex程序如何實現性能測試

當用腳本錄制器把AMFMessage錄制下來時,是一串人不可讀的二進制數組。
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'),))

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

2.解析和編碼FlexAMFMessage

首先在已部署的Flex應用程序中找到flex-messaging.jar、flex-messaging-common.jar兩個包,通常在war/WEB-INF/lib目錄下。
開啟Eclipse創建一個JavaObject引用這兩個包,創建一個類AMFTransformer,專門負責解析和編碼AMFMessage。
載入以下對象:
importflex.messaging.io.SerializationContext;
importflex.messaging.io.amf.ActionContext;
importflex.messaging.io.amf.ActionMessage;
importflex.messaging.io.amf.AmfMessageDeserializer;
importflex.messaging.io.amf.AmfMessageSerializer;

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

Flex程序如何實現性能測試

AMFMessage解析成Java對象后,可以根據實際需要做任意的修改。

Flex程序如何實現性能測試

編碼,AMFMessage對象到二進制數組,利用AmfMessageSerializer類:

Flex程序如何實現性能測試

注:AmfMessageSerializer,AmfMessageDeserializer的構造函數在不同版本中略有差異,可能需要SerializationContext作為構造函數的參數。
AMFMessage解析成對象后,為了更加方便測試人員閱讀和理解,可以利用開源包XStream把Java對象轉儲成XML。

3.Flex性能測試

能夠把FlexAMFMessage消息解析和編碼后,就可以利用傳統的Web性能測試工具進行測試了。

以上是“Flex程序如何實現性能測試”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎兰屯市| 安远县| 墨江| 安义县| 玉林市| 岐山县| 宽甸| 饶河县| 怀化市| 怀集县| 治县。| 永兴县| 青浦区| 高陵县| 道孚县| 海盐县| 伽师县| 广宁县| 辽阳市| 桐梓县| 宝山区| 绥宁县| 丹凤县| 滨海县| 洪湖市| 八宿县| 巴里| 蒙山县| 峨山| 克东县| 阿拉善右旗| 响水县| 樟树市| 民县| 连城县| 工布江达县| 琼中| 类乌齐县| 库车县| 偃师市| 凉山|