我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Flex程序如何实现性能测试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Flex程序如何实现性能测试

这篇文章主要为大家展示了“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程序如何实现性能测试”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Flex程序如何实现性能测试

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Flex程序如何实现性能测试

这篇文章主要为大家展示了“Flex程序如何实现性能测试”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flex程序如何实现性能测试”这篇文章吧。Flex程序性能测试Adobe的Flex已经越来越流
2023-06-17

Hbase如何实现性能测试

这篇文章给大家分享的是有关Hbase如何实现性能测试的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。之前测试过HBASE的参数对性能影响,今天的测试主要针对写吞吐量,通过对比不同客户端的数量,以及插入量,来看看HB
2023-06-03

如何实现ADO测试程序

这篇文章将为大家详细讲解有关如何实现ADO测试程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。原来在Sql Server及Oracle上操作时,执行完成后直接把连接关闭了。返回的参数想怎么处理就怎么处理
2023-06-17

JBoss EJB CMP2如何实现性能测试

这篇文章给大家分享的是有关JBoss EJB CMP2如何实现性能测试的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。测试环境操作系统:Win2000CPU:PIII733EBMemory:512MApplicat
2023-06-03

如何实现C#扩展方法性能测试

这篇文章给大家分享的是有关如何实现C#扩展方法性能测试的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。C#扩展方法性能测试方法三则一共是如下三个方法与string.IsNullOrEmpty(称为“原方法”)比较:
2023-06-17

Jmeter怎么实现性能测试

本篇内容介绍了“Jmeter怎么实现性能测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.1 概述JMeter,每个资深测试工程师,必须
2023-06-02

在AmazonAurora中如何实现数据库的性能测试和基准测试

AmazonAurora数据库性能测试和基准测试指南本文提供在Aurora中进行性能测试和基准测试的综合指南,涵盖方法、工具选择、指标监控、结果分析和优化措施。通过这些步骤,您可以评估Aurora的性能、识别瓶颈并实施优化,确保数据库满足应用程序需求和行业基准。
在AmazonAurora中如何实现数据库的性能测试和基准测试
2024-04-12

在AmazonAurora中如何实现数据库的性能测试和基准测试

在Amazon Aurora中实现数据库的性能测试和基准测试可以通过以下步骤进行:定义测试目标:确定要测试的性能指标,例如吞吐量、响应时间等。创建测试环境:在Amazon Aurora中创建一个测试数据库实例,并确保该实例具有与生产环境相似
在AmazonAurora中如何实现数据库的性能测试和基准测试
2024-04-09

JAVA + LR如何实现apache流媒体的性能测试

这篇文章给大家分享的是有关JAVA + LR如何实现apache流媒体的性能测试的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。多客户端的模拟无外乎3种方法:1.全公司总动员,一起看。2.一台机器开多个播放页面(或
2023-06-02

如何集成性能测试实践到C++开发流程中?

通过遵循最佳实践优化 c++++ 软件质量,性能测试至关重要,包括:定义关键性能指标。选择性能测试工具(如 google benchmark、boost.benchmark、cpp-benchmark-explorer)。编写性能测试用例。
如何集成性能测试实践到C++开发流程中?
2024-05-08

详解如何测试gitee的性能

随着开源越来越普及,gitee作为国内领先的代码托管平台也受到了广泛的关注。一些开发者在使用gitee进行项目管理中,不可避免地会遇到一些性能问题,因此了解如何测试gitee的性能对于项目管理是很有必要的。一、性能测试的背景性能测试是在特定
2023-10-22

MySQL中怎么实现性能压力测试

MySQL中怎么实现性能压力测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、MySQL常用配置以下所有配置参数以32G内存的服务器为基1、打开独立的表空间
2023-06-20

PyQt5 PySide2触摸测试功能如何实现

这篇文章主要介绍“PyQt5 PySide2触摸测试功能如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PyQt5 PySide2触摸测试功能如何实现”文章能帮助大家解决问题。一、前言该测试功
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录