Charles proxy session export to test - jmeter

I'm intercepting traffic of my mobile app using charles proxy. I've saved the session as a .chls file. Is there any way to convert this chls into a file which can be readed by jmeter or some other test application?
It would be great if I can build a test case using intercepted data.
And is there some way to export a Postman file to jmeter or similar?

You can use JMeter to capture your mobile traffic. Just
Switch your mobile device to use WiFi connection rather than cellular data
Make sure that your workstation running JMeter and mobile device are under the same subnet
Configure you mobile device to user JMeter's proxy (IP address of your machine and
either port 8080 if you use standalone HTTP(S) Test Script Recorder
or port 8888 if you're using Recording template from File -> Templates menu
For more information and step-by-step configuration instructions see Load Testing Mobile Apps. But Made Easy. guide

If you really want to use Charles Proxy, you can export into HAR format instead. You can then reimport into Gatling with the recorder in HAR mode. Just beware that you might see some additional CONNECT requests over HTTPS, as Charles records traffic from its own standpoint: a proxy.
You can also export in HAR format from tools such as Google Chrome Dev Tool, without this CONNECT requests shortcoming.
Then, you can also use the Recorder in standard proxy mode.

Related

Jmeter: Mobile Internet not working after configuring with system's IP & port as per Recording Controller

I am trying to do performance testing of an android app. I have initiated the steps by adding a recording controller, put a port number, used the manual proxy on mobile as per the system's IP but when I try to use the browser, I cannot access the internet. It says no connectivity. I have installed Jmeterrootca certificate as well. Any suggestions folks?
Why would you need the browser if you need to capture the network footprint of the other application?
When you set JMeter's HTTP(S) Test Script Recorder as the proxy for the whole operating system you need to ensure that JMeter is capable of reaching the Internet (or at least the backend for the application which traffic you want to simulate). Check if you can open a web page using JMeter's HTTP Request sampler and if is not successful you will need to fix this first.
You will need to take some extra steps in order to be able to record secure traffic, check out Network security configuration and Configure Android Devices for Proxy Recording articles for more details if needed.

Use JMeter Proxy against specific Proxy to record requests

I have an Electron App which should be started through Proxy Proxy_A. I Would like to make a Loadtest to the Backend. To my basic understanding when I want to record the request using JMeter, I should configure a script recorder which creates a proxy Proxy_B on its own. I should then use JMeter proxy as a proxy to my app so that the traffic could be recorded. Now I am little bit lost. How could I tell JMeter to accepts and forwards the request from my Proxy_A to JMeter Proxy Proxy_B?
Edit thanks to Dmitri T
What I am trying to do is described as per the attached screenshot
When I start JMeter with the proxy as per
jmeter -E https -H ACTUAL_PROXY_URL -P ACTUAL_PROXY_PORT
and I start the JMeter Proxy to record requests from localhost:9000
Then I can not record requests when I start recording. When I point my browser to localhost:9000 I become the error
500 Internal server error
In order to be able to record traffic from the Electron app to the backend you need to pass JMeter between the Electron app and the backend, for example:
Electron App -> JMeter -> Proxy_A -> Backend
or Electron App -> Proxy_A -> JMeter -> Backend
Exact instructions will differ depending on the approach and the software you use, i.e. if it's possible to configure the proxy server for the Electron app you can set it to use JMeter and configure JMeter to use Proxy_A as the upstream proxy
If it's possible to configure Proxy_A to use some upstream proxy just point it to JMeter's host/port combination.
Also you might need to perform the following steps:
Import JMeter's self-signed certificate to your proxy or OS so JMeter would be able to decrypt secure traffic
Set up proxy on OS level
If you will be running the Electron app and JMeter on the same physical Windows machine you might need to install loopback adapter
More information on the above steps: How to Run Performance Tests of Desktop Applications Using JMeter

Apache Jmeter load testing on Mobile native app failing due to android device losing internet connection while on same network

I am trying to load test mobile app with Apache Jmeter but facing a typical problem. I have done all the required configuration like setting the domain, server name, port in Jmeter. I have also configured my android phone by installing Root CA file, setting the Host name with Jmeter system's IP, port to 8080, IP settings to DHCP, Proxy to Manual but whenever both the system and android device are on the same Wifi network, android device is getting disconnected from the internet and the recording is getting stuck. So can somebody please help me on this.
As per JMeter Bug 59006 since JMeter 3.0 default port for the HTTP(S) Test Script Recorder has been changed to 8888 in order to match the configuration which is being performed via Recording Template so make sure that Android proxy port matches HTTP(S) Test Script Recorder port.
On Android versions after 7.0 (Nougat) you might need to apply extra configuration in your application manifest.
If you don't have possibility to amend application source code - there is a possibility to add JMeter's certificate directly to Android /system/etc/security/cacerts/ file

How to record a script using jmeter for capturing the webservice requests that occurs between two applications?

How to record a script using jmeter for capturing the webservice requests that occurs between two applications ?
Check out https://www.digitalocean.com/community/tutorials/how-to-use-jmeter-to-record-test-scenarios. Specifically, the information on how to set up the proxy for Firefox. You have to make requests through a proxy at 127.0.0.1:8080 or localhost:8080.
Configure both applications or underlying application server, or underlying Java Virtual Machine or underlying operating system to use host, running JMeter as a proxy and it will record all the requests between applications.
You can use Load Testing Mobile Apps. But Made Easy guide as a reference.
For more information on JMeter Proxy Server configuration see:
HTTP(S) Test Script Recorder User Manual Entry
JMeter Proxy Step by Step PDF guide

Can Jmeter record apps installed on panasonic tablets having windows 7 OS?

There are Panasonic made tablets having o/s Windows-7. Two applications are installed on these devices.Can Jmeter record these apps?
JMeter can record any HTTP or HTTPS requests which are going through its HTTP(S) Test Script Recorder
If your 2 applications do network communication via aforementioned protocols you should be able to record them using the following steps:
Launch JMeter Proxy Server
Configure tablets to use WiFi rather then cellular data
Make sure that tablets and the host running JMeter are on the same network/subnet
Open port 8080 in JMeter's host firewall
Configure tablets to use JMeter's host as a proxy
Start applications and execute your test scenario
See Load Testing Mobile Apps. But Made Easy. guide for details.

Resources