Summary: | Support required for amf requests | ||
---|---|---|---|
Product: | JMeter - Now in Github | Reporter: | smanya <kumara.subrahmanya> |
Component: | HTTP | Assignee: | JMeter issues mailing list <issues> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | brunogh |
Priority: | P2 | ||
Version: | 2.1.1 | ||
Target Milestone: | --- | ||
Hardware: | Other | ||
OS: | All | ||
Attachments: |
Test plan with recorded amf request
AMF content was not saved by Proxy Server JMeter log file Wrong Response Data when AMF collected by proxy is POSTed |
Description
smanya
2006-05-23 10:34:23 UTC
Please provide more details of the protocol, and it will be considered for a future release. Are you saying that JMeter cannot currently generate AMF requests, even if you create the HTTP Sampler yourself? Created attachment 19991 [details] Test plan with recorded amf request I think this bug can be closed as "Fixed". Attached is a test plan that I recorded using the HTTP Proxy server. I then changed the value of the "User-Agent" of the derived browser headers to "JMeter 2.2". Open http://www.themidnightcoders.com/examples/flash-application-activation.htm in your browser, and then you will see the number of invocations of that service. Now run the testplan, and then go back to your browser and hit "reload", and you will see that the number for "JMeter 2.2" has increased by 10, which was the number of requests the testplan executed. This proves that the HTTP Proxy is able to record amf requests, and that the HTTP Sampler is able to send such requests. I have also tested that it works with HTTP Request HTTP Client sampler. Thanks! Please re-open if the problem has not been solved. Created attachment 22011 [details]
AMF content was not saved by Proxy Server
I tried to record AMF requests using Proxy Server but without success. The request was recorded but without the content as you can see in the attached image. So, without the content, it is not possible to simulate these POST requests. Thanks. We'll need more information to understand this. Are there any messages in jmeter.log? Can you provide exact details of how to generate the error? Is there there public server we can test against? Or an easy way to set up a local test? It was a local test, but the thing was pretty simple: 1 - I have created a Proxy Server in JMeter and configured Mozilla to use it. 2 - Than I have accessed a default BlazeDS application (http://www.brightworks.com/flex_ability/?p=73) that runs in Tomcat and it is part of Flex demo. This application uses AMF (binary protocol over HTTP) to communicate. 3 - I looked in the Thread Group (image I have sent) and the HTTP POST request was saved but without the binary content. I think there are more people with this problem trying some work arounds: http://90kts.com/blog/2008/performance-testing-flex-remoting-amf-with-jmeter/ and http://note19.com/2008/05/06/how-to-use-jmeter-to-load-test-flex-applications/ Thanks. Thanks for the info. Were there any messages in the JMeter log file? Or the console window? Just curious - I would expect some error to be generated. I think the way to do this is to save the binary data in a file and add the file details to the POST request, as suggested in one of the links. However, first there needs to be a reliable way to detect when this is needed; hopefully this can be determined from the headers. (In reply to comment #8) > Thanks for the info. Thank you for helping! I have noticed that I am using an old version, should I try the last RC of version 2.3? > > Were there any messages in the JMeter log file? > Or the console window? > > Just curious - I would expect some error to be generated. > I have attached the log file. There are some messages. > I think the way to do this is to save the binary data in a file and add the > file details to the POST request, as suggested in one of the links. Yes, this is the way. But would it be possible to do directly with JMeter Server Proxy, bcause otherwise would be too much hand work. > > However, first there needs to be a reliable way to detect when this is needed; > hopefully this can be determined from the headers. AMF has application/x-amf in the content type of a response. > Thanks. Created attachment 22016 [details]
JMeter log file
Sorry,I have just tried RC4 and it seems that Proxy Server is working, it got the AMF content. I let you know if anything happens wrongly, I will put the tests to run. Thank you very much! The log file shows that you are not running a release build. The current release is 2.3.1. The log also shows several errors relating to org.openamf classes. Has the JMeter application been updated to add these? It looks as though the proxy has somehow been integrated with these new classes; if so, then perhaps you should discuss the problem with whoever updated the code. For some reason when I try to run the Sampler with the AMF collected previously, it happens a OutOfMemoryError in Tomcat, because BlazeDS (Flex Bridge that handle AMF) tries to deserialize the content and probably the binary format is wrong. I am not able to see the Response Data (from View Result Tree Listener) in JMeter 2.3.1, just in 2.3.1 RC4, as the pic attached. Probably this problem could be due to some wrong stuff when the protocol is being saved by the Proxy, because I have tried to sniff using another tool, saving the AMF and attaching in the POST request and worked fine. Thanks in advance. Created attachment 22017 [details]
Wrong Response Data when AMF collected by proxy is POSTed
Not being able to display the data in 2.3.1 is a known bug: 44011. See the bug for details of a work-round. Yes. Thanks for letting me know about this bug, but the problem around AMF is still ocuring. Quoting last entry: "For some reason when I try to run the Sampler with the AMF collected previously, it happens a OutOfMemoryError in Tomcat, because BlazeDS (Flex Bridge that handle AMF) tries to deserialize the content and probably the binary format is wrong. Probably this problem could be due to some wrong stuff when the protocol is being saved by the Proxy, because I have tried to sniff using another tool, saving the AMF and attaching in the POST request and worked fine." Do you know if AMF is being treated as a binary protocol and not only string stuff? Any ideas where is it in the JMeter code, because I tried to search without success. Should I send an email to dev list? Thanks in advance. (In reply to comment #16) > Yes. Thanks for letting me know about this bug, but the problem around AMF is > still ocuring. > > Quoting last entry: "For some reason when I try to run the Sampler with the AMF > collected previously, it happens a OutOfMemoryError in Tomcat, because BlazeDS > (Flex Bridge that handle AMF) tries to deserialize the content and probably the > binary format is wrong. Probably this problem could be due to some wrong stuff > when the protocol is being saved by the Proxy, because I have tried to sniff > using another tool, saving the AMF and attaching in the POST request and worked > fine." Well, that's what you will need to do for now. > Do you know if AMF is being treated as a binary protocol and not only string > stuff? Any ideas where is it in the JMeter code, because I tried to search > without success. JMeter proxy does not currently support binary data. > Should I send an email to dev list? The Bugzilla updates already get sent there, so no need to duplicate the information. Thank you very much. I think I have now found the answer about JMeter not supporting binary protocols. Do you know how difficult would be to implement that and how to do it? Otherwise I will have to make that workarounds in the previous links. Thanks! It will be very easy if someone provide a patch and test cases ;-) Otherwise I don't know... I've had a further look, and it seems it may not be all that difficult to do. Watch this space... SVN updated: URL: http://svn.apache.org/viewvc?rev=661141&view=rev Log: Bugs 44808 & 39641 - Proxy support for binary requests The night build has the fix - please report any problems. Awesome! Worked perfeclty in the first thats I have made! Congratulations! JMeter rocks! This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/1726 |