Can Charles map incoming request using saved session? - proxy

In my team, QA will test the application, if there's a bug, QA will record a charles session and provide the file to developer.
Now as a developer, I want to quickly reproduce the bug. Currently what I do is manually save the response, then use the "map local" tool to create a "map local" relationship between the request and response.
But it's tedious and cumbersome if there're multiple requests I need to mock. I'm thinking is it possible just simply tell charles, "hey charles, Use the current recorded session as source, if any future request match one of the recorded request, just use the recorded response. if none request match, let it pass through".
Then when I get a charles session file, it'll be very easy for me the set up the mock response. I can start troubleshooting the bug in just seconds.

I'm not sure if this can help but basically, if QAs spot any bugs, they can use the "export flow" feature and then share with you these exported files. When you import such files, you would be able to reproduce quickly without setting up as the request/ response have already been saved.
However the tool I'm using is Proxyman instead of Charles. You can find the detail instruction at
https://proxyman.io/blog/2019/07/How-I-use-Proxyman-to-report-bugs-more-effectively.html. Hope it helps!

Related

Bad Encoding or Strange Characters in Jmeter HTTP Request POST Option

I have been trying to record session and I got some "bizarre" characters in the POST Option in the HTTP Request component. I need some MAGIC Advice with this(picture).
Stranges Characters Appear in the POST Option in the HTTP Request component
That's it, as you can see, Jmeter in the recorded session, put me Characters that I don't understand. I seen 1000000 videos and in all of those videos the tool always show the information with no problems.
I alreade try to put utf-8 in the "Content Encoding" also change the jmeter.properties file enabling the "sampleresult.default.encoding=utf-8" option, In FACT, I try to edit the proyect modifying the ApacheJMeter_http.jar file (I found in the file that still using encoding=ISO-8859-1). I dig in almost all sites looking for a solution and I found NOTHING that can help me to fix this and I have to buils a report for my jobs next week. Please any help will be appreciated.
my Best
PG
Switching to "Parameters" tab of the HTTP Request sampler will not work given you have something in the "Body Data" tab no matter which "encoding" is being used
I don't think your goal is to test https://ocsp.digicert.com/, my expectation is that you need to exclude this domain from your testing scope
Just in case you don't need to recompile or reverse engineer anything, the "encoding" of JMeter HTTP Request samplers can be controlled either using the relevant field:
or by manipulating the relevant JMeter Properties

Rerun Postman Test without re-submiting the API Request

Is it possible to rerun the tests created in the post response test without
resubmitting the request?
For example you submit an API request in Postman, then it comes back with
some data.
I want to just re-run the scripts against this data.
Could be really useful in debugging these post-response scripts.
I want to rerun Tests in area 1 without hitting the Send button
(area 2). That way I can test the javascript correctness of my Test scripts without having to wait for server responses.
You can use https://postman-echo.com/post and their API will echo the request you send. So basically you create the actual request once and then use the result in the ECHO call to do the development.
More info here:
https://docs.postman-echo.com/?version=latest
I'm afraid there is no better way at the moment.
I was looking for the same thing and came across this tip on the PostMan Community.
https://community.postman.com/t/re-run-test-script-without-re-sending-request/9160/8
Basically you:
Make your request
Save your response as an example
Create a PostMan mock from that response
Rerun and build up your test against the mock (and any variants, like failure cases)
Run against the original and verify everything is good.
While this workaround helps get the job done, I do wish that they could just make it so that you could hold the original state of the response and the env, run your tests, reset to the original state, rerun your tests and tweak until it all works.
You can write test entire test or the part you want to execute twice in a function and call that function 2 times, that the easy and low effort and maintenance way I am looking

Run the recorded testplan in Jmeter and verify the the entry in the Database

Im using Jmeter and do performance testing for my web application. I record my actions in jmeter and play back the same. The testplan got run but when i verify the database manually, the new row is not created. The value got added in the existing line.Please help me out of this. I am struck in this step for 2 days
Verify if your requests includes hardcoded session's data. If your app manages sessions and you just "recorded" the actions, probably you are re-using the same session's data. Assuming there is a login page -> the requests after the login would use a session, usually returned for the login action.
As comments are not enough descriptive; posting a new answer. You can do this by using regular expression extractors, because -probably- the session info comes in the response (so extract it into a variable, by parsing the response with a regex extractor)
and then use the variable in further request/s.
This is a tricky way and need lot of work... even more if the session keep changing in subsequent responses (it usually change while moving worward through the page/app workflow), if that is the case you will need to extract the data after each request.
Please reffer to the jmeter manual for more info about regex extractors.

Testing a Vaadin Website with JMeter

I need to test a Vaadin website with JMeter but I can't get it to work. I have tried recording my actions with a proxy and that went well, but when i try to run the test again it gives me an error: out of sync. I have disabled the xsrf.
Has this something todo with the fact Vaadin can't run in two tabs at the same time? I am using vaadin 6 and i can't easily upgrade.
Thanks in advance Stefan
the error response i get is:
for(;;);[{"changes":[], "meta" : {"appError": {"caption":"Out of sync","message" : "Something has caused us to be out of sync with the server.Take note of any unsaved data, and click here</u> to re-sync.","url" : null}}, "resources": {}, "locales":[]}]
Solution:
- Disable xrsf because when you record and then start a new thread the request is sends the wrong security key. Enable it when going live ofcourse!
- Make sure ever component is unique and consitent. The problem in my application was that the id's of the components were changing every request. So the request when recording is only validate while recording. When i replayed it, it asks for the wrong id. By making it unique and consitent this problem dissapears!
Good luck and have fun ;)
Read this:
https://vaadin.com/wiki/-/wiki/Main/JMeter%20Testing
Issue might be in disabling XSRF.
However, scripting Vaadin application is not easy as there are a lot of technical ids to correlate to create a successful simulation.
Either you do correlation manually which will require some work or you can use this commercial plugin for JMeter.
Note that disabling XSRF is only a part of the problem and will not solve all issues. And disabling it will not make application ISO-PROD.
Disclaimer : We are providers of this solution
in case you cannot disable XSRF protection, automatic correlations feature of SmartMeter (based on JMeter) is the solution. While recording the test, it will automatically parse XSRF tokens from responses and use them in subsequent requests. Here is a detailed guide.

Data correlation and concurrent users with Jmeter

This is Naresh. Seems this blog is really helpful for the beginners and all.
I have chosen Jmeter for Perf. testing web-based application and it is build with the environment - Microsoft dot net(Asp.net 3.5 with C#). Would Jmeter helps me?
I have done some sample recordings, for e.g login and search.
Scenario1 - Login
Here I have recorded for login and then parameterized with CSV config file.
And executed later.
As I do not much hand on exp, do I need to add anything to the above config to run it perfectly. For e.g. adding HTTP cookie manager or ?????
How to run the concurrent users?
Scenario 2:
Here, I have logged in - login.aspx is recorded
given a search - search.aspx is recorded
results will be displayed right below the search in a tabular format - (same)search.aspx is recorded
I want to run this for 100 simultaneous search(s). I understood how to pass the CSV file.
I am sure there is some thing needed to be done for executing this scenario.
Do I have need to do Data correlation, if yes? how to do this?
Do I need to add HTTP cookie manager or HTTP cache manager......
Please help guys, would be grateful :)
Naresh
Yes you must add the HTTP Cookie manager and HTTP cache manager

Resources