Wednesday, April 15, 2009

Use JMeter to load test FLEX Applications

Flex applications use a binary protocol called AMF (Action Message Format) that they use to remotely communicate with the server. The easiest way to use JMeter with a Flex application is to use HTTP proxy server.

- Create a New Test Plan
- Right Click on Test Plan, Add -> Thread Group
- Right Click on Thread Group, Add -> Config Element -> HTTP Request Defaults
- Select 'HTTP Request Defaults'
- Specify Server Name or IP, for eg. www.mysite.com
- Specify Port number, eg. 8888
- Specify protocol, i.e. http
- Specify Path, foe eg. /main/index.html
- Select Work Bench
- Right Click on Work bench, Add -> Non-Test Elements -> HTTP Proxy Server
- Select 'HTTP Proxy Server'
- Specify port number for proxy (default is 8080)
- Set Target Controller to 'Test Plan -> Thread Group'
- Set inlude URL patterns , .* to include all
- Set exclude URL patterns, for eg. , .*\.gif, .*\.png, .*\.css, .*\.js
- Open Internet Explorer
- Goto Tools -> Internet Options -> Connections -> LAN settings
- In Proxy Server panel, specify address as 'localhost' and port number (which is specified in
meter's HTTP proxy server, i.e. 8080)

- Select 'HTTP Proxy Server'
- Click on Start
- Open IE and open URL 'http://www.mysite.com:8888/main/index.html'
- As soon as you visit the URL jmeter starts the recording, and you can see all the requests in
METER

- For AMF requests (for Adobe FLEX), request is saved as file with extension '.binary' in the bin
irectory of jmeter

- Click on Stop button of 'HTTP Proxy Server' to stop the recording.

Test Plan is ready. You can modify it now according to your requirements.

Proxy Server setup document from Apache:
http://jakarta.apache.org/jmeter/usermanual/jmeter_proxy_step_by_step.pdf

9 comments:

priya said...

when recording Flex application,the scripts are not generated in the "thread group".Our application redirects to https port from login page.

Does jmeter support https?

please give me the solution to record flex apllication.

Vishnu Agrawal said...

Hi Priya,

for https pages, select the checkbox 'Attempt HTTPS Spoofing' in HTTP Proxy Server element.
I could record our https pages by it.

kalyan kk said...

Hi vishnu,

I followed the same steps, but it did not generate the ".binary" file in the bin directory of jmeter.

regards,
kalyan k

Vishnu Agrawal said...

Verify that proxy is setup correctly

rajita said...

Hi,
I am unable to record the flex application can any one help.
I have made all proxy settings correctly.

Thanks in advance.

rajita said...

Hi,
I am unable to record the flex application using JMeter.I have followed all steps.
I have made all proxy settings correctly.
Please give me the solution.

Thanks in advance.

Regards,
Aparajita

Anonymous said...

Hi Vishnu,

Thank you for the post, i have done the same steps as mentioned and could able to record the script.

However i could not proceed further as i have few doubts.

1. how to manage session IDs which have been in "HTTP Request"/Sample result. Thought i have saved the file using "Sample Data Writer" i could not find the input data given. Everything was displayed in binary format.

2. How to manage Input data and Server Response.

I kindly request you to guide me regarding this.

Thank you,
Priyadarshini.

Alagiri Samy.S said...

I had an error while setting jmeter-amf. Menu's stopped working and started throwing exception when i added jmater-amf jar file into the lib/ext.

It would be great if someone can share their experience in this regard..

mpsc admin said...

Hi ...I installed AMF Plug in but could not see the component added AMF Proxy Server so countinued with HHTTP Proxy server ...I got binary files but how to run the test ? what to do with this files ? could you please help me out in this?