JMeter - How to test Mobile Applications (in 7 Steps)
Vložit
- čas přidán 21. 08. 2024
- more about Raghav - automationstep...
Today we will learn :
How to test mobile web application in JMeter
____________________________________________
Step 1
Start JMeter on your test machine
desktop / laptop
____________________________________________
Step 2
Add Template - RECORDING
to get a test plan with
HTTP(S) Test Script Recorder
____________________________________________
Step 3
Set Port for Recording
we will set our mobile to use the same port
____________________________________________
Step 4
Click Start and Install Root CA Certificate
(install the same on mobile device)
____________________________________________
Step 5
Configure mobile phone
set IP and PORT
____________________________________________
Step 6
Start Recording
actions you do on your mobile device should get recorded in JMeter
____________________________________________
Step 7
Run & Validate
____________________________________________
Helpful Tips
Mobile and Laptop (desktop) should be connected to the same wifi network
Turn off any other network on your mobile phone
Note:
The JMeter certificate from Bin folder must be transferred to mobile device and install the certificate with the same name as that of in BIN folder of Apache Jmeter. In most of the case, the name should be "ApacheJMeterTemporaryRootCA ". JMeter is looking for the certificate with the name it was installed on your computer.
References:
JMeter Beginner Playlist :
• JMeter Beginner
JMeter Intermediate Playlist :
• Jmeter Intermediate
JMeter Advanced Playlist:
• JMeter Advanced
How to use Test Script Recorder :
• JMeter Beginner Tutori...
Like on Facebook - / automationstepbystep
Subscribe on:
CZcams - / automationstepbystep
_____________________________________________________________ .
.
_______ ONLINE COURSES TO LEARN _______
Visit - automationstepb...
----------- UI TESTING -----------
Selenium Beginners - bit.ly/2MGRS8K
Selenium Java Framework from Scratch - bit.ly/2N9xvR6
Selenium Python - bit.ly/2oyMp5x
Selenium Tips - bit.ly/2owxc50
Selenium Builder - bit.ly/2MKNtlq
Katalon Studio - bit.ly/2wARFdi
Robot Framework - bit.ly/2Px6Ue9
----------- API TESTING -----------
Web Services (API) - bit.ly/2MGafL7
SoapUI - bit.ly/2MGahmd
Postman - bit.ly/2wz8LrW
General - bit.ly/2PYdwmV
----------- MOBILE TESTING -----------
Mobile Playlist - bit.ly/2PxpeUv
----------- CI | CD | DEVOPS -----------
Jenkins Beginner - bit.ly/2MIn8EC
Jenkins Tips & Trick - bit.ly/2LRt6xC
Docker - bit.ly/2MInnzx
----------- VERSION CONTROL SYSTEM -----------
Git & GitHub - bit.ly/2Q1pagY
----------- PERFORMANCE TESTING -----------
JMeter Beginner - bit.ly/2oBbtIU
JMeter Intermediate - bit.ly/2oziNVB
JMeter Advanced - bit.ly/2Q22Y6a
JMeter Tips & Tricks - bit.ly/2NOfWD2
Performance Testing - bit.ly/2wEXbLS
----------- JAVA -----------
Java Beginners - bit.ly/2PVUcXs
Java Tips & Tricks - bit.ly/2CdcDnJ
----------- MAVEN -----------
Maven - bit.ly/2NJdDRS
----------- OTHERS -----------
Redis- bit.ly/2N9jyCG
Misc - bit.ly/2Q2q5xQ
Tools & Tips - bit.ly/2oBfwoR
QnA Friday- bit.ly/2NgwGpw
Sunday Special - bit.ly/2wB23BO
Ask Raghav- bit.ly/2CoJGWf
Interviews - bit.ly/2NIPPxk
All Playlists - bit.ly/2LSiezA
----------- FOLLOW -----------
Facebook - / automationstepbystep
Twitter - / automationsbs
CZcams - / automationstepbystep
Hi Raghav! A big thanks to you! Your video was a life saver!! I've been struggling while performing load testing for my mobile applications, but now it has become quite simple! Thanks again🙏🏻👍🏻
Most welcome Raahul
@@RaghavPal Hi Raghav..iam confused about something.this video is about web application in mobile or mobileapp in phone? can we do performance testing of mobile app in jmeter?
Thank you very much Raghav for providing this tutorial related to mobile testing
Most welcome Sitesh
You're great! Simple, fast and easy tutorial!!! Wonderful!!
Thanks for watching.
Kudos for the video content! Sorry for chiming in, I would appreciate your initial thoughts. Have you considered - Reyndrew Software saccular (do a search on google)? It is an awesome one of a kind guide for getting paid using this powerful internet marketing tool without the headache. Ive heard some awesome things about it and my mate after many years got cool success with it.
Raghav you are the number 1 bro keep doing and keep helping thank you
Thanks, I will try my best
Hi Raghav Pal which is really gonna be used to the beginners Thank you
Hi Raghav, Thank you ,I am watching your JMeter videos and they are very useful. I appreciate your time and effort.
JMeter - How to test Mobile Applications: Can you please explain how to connect iphone using proxy and port. I tried several times after watching this but I failed to connect my iphone with laptop to test native app.
Also it would be more helpful if you could post videos of native app testing using jmeter
Hi Pravallika, its great to know that you are watching and learning from these videos. Please see this link might help you - www.testautomationguru.com/jmeter-record-ios-application-http-requests/
Will add more videos soon.
Hi Raghav, thanks for the detailed explanation. Have you used Jmeter for testing OBD devices? Do we have to install any other plugins for testing
Sreelaxmi
JMeter can be a valuable tool for testing OBD (On-Board Diagnostics) devices, especially when you want to simulate load and performance scenarios.
Here's how you can use JMeter for OBD device testing:
1. Load Testing with JMeter:
- Load testing helps determine how well your OBD system handles a large number of requests or data points.
- Create a JMeter test plan that simulates various OBD requests (such as diagnostic queries, sensor readings, or firmware updates).
- Configure Thread Groups to represent the number of concurrent users or devices.
- Add HTTP Request samplers to simulate OBD requests to your device's endpoints.
- Monitor response times, throughput, and error rates to assess performance under load.
2. Stress Testing with JMeter:
- Stress testing evaluates how your OBD system behaves when pushed beyond its limits.
- Define scenarios where the OBD device receives an unusually high volume of requests or data.
- Gradually increase the load until you find the breaking point (where the system starts failing or responding slowly).
- Use JMeter assertions to validate responses and detect errors.
3. Custom Plugins and Extensions:
- JMeter has a rich ecosystem of plugins that can enhance its capabilities.
- For OBD-specific testing, consider using custom plugins or extensions:
- Custom samplers: Create custom samplers to send OBD-specific commands (e.g., PID queries) to your device.
- Listeners: Use listeners to capture and analyze OBD responses.
- Scripting: If needed, use JSR223 elements (e.g., Groovy scripts) to manipulate OBD data or simulate specific scenarios.
4. OBD Protocols and Communication:
- Understand the OBD protocols your device supports (e.g., CAN, ISO 9141, J1850, UDS).
- Configure JMeter to communicate with your OBD device over the relevant protocol (e.g., via HTTP, TCP/IP, or Bluetooth).
5. Testing Real Devices:
- Connect a real OBD device to your test environment (e.g., a car with an OBD-II port).
- Use JMeter to send actual OBD requests and validate responses.
- Ensure that your test environment is safe and complies with any legal or safety requirements.
6. Monitoring and Reporting:
- Use JMeter's built-in graphical reports to analyze performance metrics.
- Monitor OBD-specific parameters (e.g., RPM, speed, coolant temperature) during testing.
Remember that OBD testing involves real-world scenarios, so ensure that your test environment closely resembles the actual usage conditions. Additionally, consult OBD device documentation and specifications to tailor your tests accordingly.
..
@@RaghavPal thank you so much Raghav for the immediate response and a detailed explanation
I enjoyed your video :) Keep it up!
Hi Raghav, I have watched most of your videos and most recent Friday Q&A is great, all of them are really simple and full of info. Keep it up the good work. I have a requeset, can you pleaes make series on Behat Testing please, I am really interested in that and can not find any good video learning material . I thing it will be very useful for everyone.
Hi Jaymin, its great to know that these videos are helping you and others. I have taken down your request for Behat. I have many other videos to do, so it might take some time. But will surely do it. Keep watching and learning.
Automation Step-by-Step - Raghav Pal Thank you very much
Nice explaination Raghav & its really helpful. Keep it up.
Quick help on my below queris:
How can we analyze the performance of the mobile application with concurrent users?(Tool should be open source)
Thanks.
Hi Vidula, JMeter does that. you can try it
Amazing delivery of technical points and knowledgeable tips, One suggestion is voice is a little bit low, it should be louder to get a clear understanding. Thanks
Sorry for that Ravi and thanks for the feedback, Will improve in future videos. Can check all here automationstepbystep.com/
Great teaching. Very simple and very effective
Glad it was helpful Kamesh
Hi Raghav, You are is very much helpful. Could please make a video on how to use jmeter and mobile devices connected with different network and do performance test on mobile applications.
Sathvuka
I will plan. For now, this can help:
## Using JMeter and Mobile Devices for Performance Testing Mobile Applications
Mobile application performance testing is crucial to ensure a smooth and responsive user experience. JMeter is a popular open-source tool that can be used to test the performance of mobile applications across various network conditions. This includes testing on different devices connected to different networks, such as Wi-Fi, 3G, 4G, and LTE.
Here's a guide on how to use JMeter and mobile devices for performance testing mobile applications:
*1. Prerequisites:*
*JMeter:* Download and install the latest version of JMeter.
*Mobile devices:* You will need several mobile devices with different operating systems (Android and iOS) and network access.
*Mobile Proxy Server:* You can choose from various mobile proxy servers like Charles Proxy, Fiddler, or HTTP Toolkit.
*Application under test (AUT):* The mobile application you want to test.
*2. Set Up Mobile Proxy Server:*
1. Install the mobile proxy server on your computer.
2. Configure the proxy server settings on your mobile devices.
3. Connect your mobile devices to the desired networks (Wi-Fi, 3G, 4G, LTE).
*3. Record Test Script:*
1. Open JMeter.
2. Add a Thread Group.
3. Add an HTTP(S) Test Script Recorder.
4. Configure the recorder settings:
*Port:* Set the port number to match the mobile proxy server port.
*Target Controller:* Select the Thread Group.
*Target Host:* Enter the hostname or IP address of the mobile device.
*Target Port:* Specify the port number used by the mobile application.
5. Start the recorder and open the mobile application on your device.
6. Perform actions within the application as if you were a real user.
7. Stop the recorder when you have recorded enough traffic.
*4. Create and Configure Test Plan:*
1. Add a Test Plan to your JMeter project.
2. Add the recorded HTTP(S) Test Script Recorder as a child of the Test Plan.
3. Add any additional components you need for your test, such as:
* Timers: To control the delay between requests.
* Assertions: To verify the response values.
* Listeners: To view and analyze the test results.
4. Configure the Thread Group:
* Number of threads: Set the number of concurrent users to simulate.
* Ramp-up time: Specify the time it takes to reach the peak number of threads.
* Loop count: Set the number of times to repeat the test script.
*5. Run the Test:*
1. Start your mobile proxy server and connect your mobile device to the desired network.
2. Start the JMeter test.
3. Monitor the test results in JMeter.
4. After the test is complete, analyze the results to identify any performance bottlenecks.
*Tips for Performance Testing Mobile Applications:*
*Use real devices:* Emulators and simulators may not accurately represent the behavior of real devices.
*Test on different networks:* This will help you understand how your application performs under different network conditions.
*Vary the number of users:* This will help you identify any scalability issues.
*Monitor resource usage:* This will help you identify any bottlenecks on the mobile device or server.
*Use a load balancer:* This will help you distribute traffic across multiple servers and improve performance.
*Automate your tests:* This will save you time and ensure consistency.
By following these steps and using the available resources, you can effectively use JMeter and mobile devices to test the performance of your mobile applications across different network conditions. This will help you ensure that your applications are providing a smooth and responsive user experience for all your users.
@@RaghavPal thank you for your valuable time. But when I try to start the jmeter test , it is showing like port is already in use. Actually i have set the port of mobile proxy server ,i.e., fiddler.
It seems you're facing a port conflict between JMeter and Fiddler while trying to start your performance test. This can be frustrating, but there are ways to resolve it:
*1. Identify the conflicting port:*
* Check the exact port number JMeter is trying to use by looking at the error message or JMeter configuration.
* Look for any processes using the same port in Task Manager/Activity Monitor (depending on your OS).
* You can also use tools like `netstat` or `lsof` to identify processes using specific ports.
*2. Free the port:*
* Once you've identified the conflicting process, close it. This could be Fiddler itself, another application using the port, or even a leftover process from a previous run.
* Alternatively, you can change the port used by Fiddler or JMeter.
*3. Adjust port configuration:*
*JMeter:*
* In JMeter, go to "Test Plan" > "HTTP(S) Test Script Recorder".
* Click "Modify Proxy".
* Change the "Port" field to a different unused port number.
* Save the changes and restart JMeter.
*Fiddler:*
* Open Fiddler Options (Tools > Options).
* Go to the "Connections" tab.
* Change the "Fiddler listens on port" value to a different unused port number.
* Click "OK" to save the changes and restart Fiddler.
*Additional Tips:*
* Make sure you haven't accidentally launched multiple instances of JMeter or Fiddler.
* Check if any firewall or security software is blocking the ports.
* Use a different mobile proxy server if available.
By following these steps, you should be able to resolve the port conflict and successfully start your JMeter performance test with Fiddler as your mobile proxy server. Remember to restart both applications after changing any port configurations.
Hi Raghav sir, thank you so much for this. Explaining very politely and precisely. But i have one question sir, my mobile WiFi doesn't work when it is selected to manual server and as a result i can't access app.
I have looked all over the internet but to no avail. Would mean a world if you can help me.
Hi Mayank, it may be due to your specific device settings, Not sure, will need to check,
@@RaghavPal I am having the same problem. Also using this method the recording only reads actions from mobile Browser (eg. Chrome or opera) and not a native app like what's app correct? Thank you
After setting the Proxy details. Just Turn off and On your wifi. Then check.
Hi, Thanks for this insightful video, However, we are looking for mobile native application performance testing but not mobile web performance. is it feasible to record and test performance and simulate load for native Android and iOS mobile applications with Jmeter?
Inderjeet
Yes, it is feasible to record and test performance and simulate load for native Android and iOS mobile applications with JMeter. However, there are some limitations to consider.
* JMeter is a Java-based tool, so you will need to have Java installed on your machine.
* JMeter can only record and test HTTP traffic, so you will need to configure your mobile device to proxy all HTTP traffic through JMeter.
* JMeter is not a native mobile app testing tool, so it may not be able to capture all of the performance metrics that you are interested in.
Despite these limitations, JMeter can be a useful tool for testing the performance of native mobile applications. Here are some steps on how to use JMeter to test native mobile applications:
1. Install JMeter on your machine.
2. Configure your mobile device to proxy all HTTP traffic through JMeter.
3. Open JMeter and create a new test plan.
4. Add the "HTTP(s) Test Script Recorder" element to the test plan.
5. Start the HTTP(s) Test Script Recorder and open the native mobile application on your device.
6. Use the native mobile application as you would normally.
7. Stop the HTTP(s) Test Script Recorder when you are finished using the native mobile application.
8. Save the test script.
9. Run the test script to test the performance of the native mobile application.
You can also use JMeter to simulate load for native mobile applications. To do this, you will need to create a virtual user (VU) that represents a single user. You can then configure the VUs to perform specific actions, such as opening the native mobile application, navigating to different screens, and performing actions on those screens.
JMeter is a powerful tool that can be used to test the performance of native mobile applications. However, it is important to understand the limitations of the tool before using it.
Thank for sharing! Really good video tut...I really aprecciate it!
You're welcome Diana
Wah simple and clear and crisp
Thank you so much 🙂Ramesh
Thank you so much for this Step-By-Step Tutorial
Most welcome Divya
I've done with this and it works fine. Thanks :) Btw is there any possibilities that it can be done using USB Cable instead of Wi-Fi ? Just want to know.
I don't think so Pradeep. Can check some information here stackoverflow.com/questions/52287941/is-it-possible-record-traffic-from-mobile-device-without-wifi
Great, Thanks for the video
It is very useful. Thanks for your sharing.
Most welcome
Great tutorial man! Thanks!
You're welcome Andres
Nice viedo, thx for explanation this topic :)
Most welcome
excellent Video , very crisp and helpful
Glad it was helpful Garvit
Hi Raghav, i watched the video it was very helpful!
I was able to record the script, wanted to know while running the load test do we need to keep the Mobile device connected to the wifi or we run the test directly from Local machine ?
it should have network to access the app
Nice video and explained in depth. I have a question: how can I test my application if it requires the internet to run. Through proxy changes the internet will disabled so, is there a way to test internet-required applications?
Shaheryar
There are two ways to test internet-required applications with JMeter:
1. *Use a proxy server.* A proxy server can be used to intercept and modify HTTP requests and responses. You can configure JMeter to use a proxy server to access the internet. This will allow you to test your application without actually connecting to the internet.
To use a proxy server with JMeter, follow these steps:
1. Start the proxy server.
2. Configure JMeter to use the proxy server. To do this, open the JMeter Test Plan and go to the *HTTP Request Defaults* element. In the *Proxy Server* section, enter the IP address and port number of the proxy server.
3. Run the JMeter test. JMeter will use the proxy server to access the internet.
2. *Use a mock server.* A mock server is a fake server that can be used to simulate the behavior of a real server. You can use a mock server to create a simulated version of the internet. This will allow you to test your application without actually connecting to the internet.
To use a mock server with JMeter, follow these steps:
1. Start the mock server.
2. Configure JMeter to use the mock server. To do this, open the JMeter Test Plan and go to the *HTTP Request Defaults* element. In the *Target Host* section, enter the IP address and port number of the mock server.
3. Run the JMeter test. JMeter will use the mock server to simulate the behavior of the internet.
Which method you choose will depend on your specific needs. If you need to test your application with real-world data, then you should use a proxy server. If you need to test your application with simulated data, then you should use a mock server.
Here are some additional tips for testing internet-required applications with JMeter:
* Make sure that you have a good understanding of how your application works over the internet. This will help you to create realistic test cases.
* Use a variety of test cases to test different aspects of your application's functionality.
* Monitor the performance of your application during the test. This will help you to identify any performance bottlenecks.
* Analyze the results of the test carefully. This will help you to identify any problems with your application.
I hope this helps
Great video, very useful. Thanks for creating and sharing.
You're welcome Dermot
My phone get disconnected to the internet when i set the proxy settings. What can be the problem?
Hi Haya, Pls check these links
stackoverflow.com/questions/35408777/jmeter-after-configuration-of-proxy-of-my-mobile-wifi-internet-is-not-getting
@@RaghavPal this link is not useful. I tried but nothing happend good
Amazing Tutorial.
Great work.
Thank you.
You're welcome Manuel
superbly explained .
Thanks for watching Deepak
Great video.Can you please let me know if we do the similar set up can we record any respective application (.apk) based transactions? Also..are there any changes if we use iOS device.
Hi Swarnendu, pls note JMeter can record network traffic and can check server performance, it does not check client performance
@@RaghavPal thanks
hi raghava, its a good video. Thanks for sharing.
I need some sugession regarding app client automation. Could you please suggest me if you have any idea
Scenario:
1)Need to verify app loading time
2)verify app login time and
3)app crash rate.
Kindly suggest me if you have idea.
Regards,
Rajesh T
Hi Rajesh, with JMeter you can check the client network communication performance. So it will be mostly server-side performance testing. For client side will need to do some search czcams.com/video/XMFrNla8bHI/video.html
Hi Raghav! A thank you! so much for you are a great personality helping so many selflessly. Keep-up your good work and noble nature. GOD bless you!
As this is for mobile-web, can you also create a similar tutorial for mobile Native Apps. If already there, can you please guide me to that.
Most welcome. I will plan Isaac
How to test mobile native app?
My phone get disconnected to internet when i do proxy setting.What can be the solution? Plz reply
Hi Haya, pls check your earlier comment
@@RaghavPal If we use JMeter it only captures the performance of the services, correct? Do you know any open source tool which can be used to measure the performance of the Mobile app including UI rendering time?
Awesome video, as always. A quick question, will this work with a mobile app? I have an application on mobile which uses REST api to communicate with the server. Following the steps from this tutorial, will it record API calls too?
Ideally it should record all network communications
@@RaghavPal Hi Raghav, Your videos are so helpful for me in sorting out many things. I tried the same steps as you mentioned but unfortunately, I am able to record the calls that I do from the device browser but not from the native app. Do there any other specific port that will get utilized from the native application in order to the calls...? Please confirm....!!!
It's better understanding thankyou
most welcome Sagar
Hi Raghav.. thanks for this video and moreover i need to do a performance testing on Mobile application in jmeter and i enable all the proxy config done.. kindly advice how to do load and stress testing in mobile application and generate the report..
Vishal
To do load and stress testing on a mobile application in JMeter, you can follow these steps:
1. Create a JMeter script that simulates the user interactions with the mobile application. This can be done by creating a sequence of HTTP requests that mimic the actions that a user would take when using the application.
2. Configure the JMeter script to run with a specified number of concurrent users. This is the number of users that will be simulated by JMeter at the same time.
3. Run the JMeter script. JMeter will start sending HTTP requests to the mobile application.
4. Monitor the results of the test. JMeter will generate a report that shows the performance of the mobile application under load.
Here are some additional things to consider when doing load and stress testing on a mobile application in JMeter:
*The number of concurrent users:* The number of concurrent users that you use will affect the load on the mobile application. You should start with a small number of users and gradually increase the number until you reach the desired level of load.
*The duration of the test:* The duration of the test will also affect the load on the mobile application. You should run the test for a long enough time to get a good understanding of the performance of the application under load.
*The type of load:* There are two main types of load: *static load* and *dynamic load*. Static load is when all of the users are making the same requests at the same time. Dynamic load is when the users are making different requests at different times. You should choose the type of load that is most appropriate for your application.
*The report:* The JMeter report will show you a variety of information about the performance of the mobile application, such as the response time, the throughput, and the errors. You should use this information to identify any performance bottlenecks.
I hope this helps!
@@RaghavPal Thank u so much Raghav.. ur the saviour😍
You have to make Root certificate as "Trusted certificate" in order to work that for i OS devices.
thanks for the information Lakmal
hi Lakmal How we will our root certificate as trusted certificate, can you please let me know
@@mrkiinnu Settings -> Serach for " Cerificate Trust Settings -> Enable full trust
Hello Raghav, can you please also explain how to record native iOS app on JMeter. The way you described only explains
for web applications .
It captures the network communication, so you can use a native app, but the samplers will be recorded for network requests
Raghav, your videos are very good and very helpful! I have a question about testing mobile apps. We watched your tutorial but we are trying to test our app on an emulator, Android Studio. When we try to test with JMeter it is not working. It will record if we open Google or one of the other web apps but if we try to record our mobile app it does not record. Do you have any pointers? Will JMeter actually work with an emulator?
Hi Virginia, if you are able to setup proxy in emulator like we did here, you should be able to use emulator, I am not sure if there is any other reason, that your app may not be recognized
Hi Raghav! I have setup everything as explained in the video but not able to open any URL on the mobile browser. It says offline & no connectivity. I tried disabling the firewall as well but its not working for me. Any help is appreciated.
Hi Ashish, When you setup the proxy, then it will work only after you start recording from JMeter and not otherwise.
Also different devices, may have different settings for proxy.
So I will suggest 2 things here:
1. After doing proxy setup, Start from JMeter and then try to access the url
2. If above does not work, Check online for your specific device on how to enable proxy and connect to internet
Hi Raghav, can you create a video on how to connect the same to laptop and see the display on screen? or do you have the video created already? if yes , please share it
Hi Swapnil, so you want to connect your mobile to laptop and view mobile screen on laptop. right.. You can use Vysor. You can get it as a chrome plugin
Thanks for posting this!
Thanks a lot for the support Orlo
When we replay the scripts in Jmeter. It is getting invoked from local browser or the load will still be on the mobile ? How can we determine the mobile performance by running the scripts locally in Jmeter??
Hi Surenthar, JMeter sends the request from multiple threads (virtual users), and it checks the server performance and not client performance
Nice and easy.. Thanks a lot
Most welcome Mevan
a good video tutorial maker!
Thanks
Hi Raghav, Really informative video. I like to understand if we have a Mobile application ,and we want to load test the Mobile application how to do it, can you please give some insight on it.
Hi Sansthita, if you are able to record your application using JMeter, you will just need to increase the user count and run the test, JMeter checks the server performance and not the client
@@RaghavPalThank you for you quick response. If in future you can add a brief course for Mobile application testing( by using emulators, simulators, and for same load, performance testing) and IOT hub how to connect to JMETER, it will be helpful.
Sure I will
Very nice and helpful bro
Glad to know Rupesh
Hi I want to test login and logout process for mobile application with multiple users but I am facing an issue as login consists of two steps..
First to enter mobile number and then enter OTP and OTP is getting changed for every user.
Having OTP step for every user will be tricky. There are 2 ways you can deal with it.
1. Have your dev team skip the OTP validation in Test env or have a fixed OTP.
2. Other workaround can be to send OTP to email and then have a mail sampler to fetch it.
This will again will need some coding and will not be straight forward
If you can go with 1 that will be great.
It's very useful 👍
Glad to hear that Suchismita
Hello raghav,
My company laptop has a firewall due to which none of the mobile app recording is captured in jmeter. Would you pls suggest how to proceed with this. I am using personal wifi but still recording is unsuccessful in my laptop.
Hi Ashwini, you can set proxy to record behind firewall
Check this - vmokshagroup.com/blog/how-to-test-native-app-performance-using-apache-jmeter/
Nice!! was very much helpful. I was wondering if you could show us, how to use particular user/users in the sampler from CSV file which consists many or lets say "n"' number of users(for instance, if you want to test the names which have more than 28 characters , for this load runner has parameters where you can customize or randomize the users you want to use from CSV).I was curious to know, if JMeter has such functionality. Thanks....
Hi Shankar, thanks for watching.
In JMeter if you have any custom requirement and you do not have some in-build component you can always use Bean Shell Sampler and write your code here.
Bravo !!!
well done!
Thanks Jagan
Great, thanks,
Thanks for watching
I got connection lost error while recording. I have installed RootCA and have configured device with ip and port, It is happening with iOS
Any body have solution for it
Same issue I have faced .
will it record all the actions that is being performed over that wifi network?Like using browser or any other application that requires wifi.
Have not tired that. You can test it.
Great job
Thanks
@automatiostepbystep Hello sir,
I am sumedh. I watched all your JMeter related videos on youtube. I learnt JMeter successfully. Your teaching techniques are awesome.
Currently I am doing mobile testing. I set up the proxy and installed the certificate on my mobile device. I am getting responses on the JMeter but all are saying things like Unknown certificate or unable to handshake.
I tried with ChatGPT also. But I can find a solution.
Can you please help me?
Hi Sumedh
I may also need to take help online on this.
When you encounter errors like "Unknown certificate" or "unable to handshake" during mobile testing with a proxy and certificate set up, it typically indicates an issue with the certificate configuration. Here are some steps to troubleshoot and resolve the problem:
1. Verify Proxy Settings: Double-check that the proxy settings on your mobile device are correctly configured to point to the IP address and port number of your proxy server
2. Install the Certificate Correctly: Ensure that you have installed the proxy server's certificate correctly on your mobile device. Follow the specific instructions for your device and operating system to import and trust the certificate
3. Certificate Validity: Ensure that the certificate you are using is valid and not expired. If it has expired, generate a new certificate and install it on both the proxy server and your mobile device
4. Certificate Chain: Check if the certificate chain is properly set up. If the certificate is issued by a Certificate Authority (CA), ensure that the intermediate and root certificates are correctly installed on your mobile device
5. Certificate Trust: Verify that the certificate is trusted on your mobile device. Sometimes, you may need to explicitly trust the certificate to establish a secure connection
6. Proxy Configuration: Check if your proxy server is correctly configured to handle SSL/TLS traffic. Ensure that it is intercepting and decrypting the secure traffic properly
7. Network Configuration: Ensure that your mobile device is connected to the same network as the proxy server and that there are no firewall or network restrictions blocking the communication
By following these steps, you should be able to resolve the issues related to unknown certificates or handshake failures during mobile testing with a proxy and certificate setup
Can we use a blazmeter for recording a script on mobile application? If yes can you please tell us how?
Hi Saket, may have to create a proxy recorder for Blazemeter, guide.blazemeter.com/hc/en-us/articles/360000271458-Creating-the-Proxy-Recorder-Creating-the-Proxy-Recorder
@@RaghavPal Thank you So much.
Hi Raghav, Thanks for provided lot of stuff here. Could you please try to do video for native mobile application.
Hi Vinay, I will plan, However JMeter checks the server performance irrespective of any client used.
Thank you for very informative session sharing in professional manner. Thanks alot
You're welcome Ahsan
Hi Raghav pal, Hope You Doing Well!... Actually I having using JMeter for pc website, so it is working fine, But Now Present I m using mobile app testing with JMeter so please any other special settings for record script in JMeter by mobile apps...
Like we used to set the website to test
Hi, have explained the settings in this video. In case of something specific, you might have to check online
1.Do I need to update the certificate in my computer every time when I press "Start" from test script recorder?
1 thing i notice that certifacte creation date is not updating when i press "Start" from test script records its showing old date when i first created that.Plz help me out.
This is really great. But I dont get the sense of usability, why do we need to use mobile phones if we can already run the same stuff on a computer. Do we also capture mobile app requests?
Hi Mohan, there are some web applications that can run on desktop as well as mobile and some are mobile specific apps, In both cases it may be required to test the performance of the app when used from a mobile device
@@RaghavPal I certainly agree.
Sir, I have deployed a application on hyperledger fabric and running on my browser through rest api. Please tell me how can I test it
Hi, JMeter is a server side performance testing tool, so here you can either test your app through browser or api requests. Note that JMeter will check the network calls to the server and not the client side performance testing.
@@RaghavPal through api. Should I test the throughput
You can check response time, throughput etc. When you use listener like View results in table, you will get all these metrics
Thank u super video
thanks for watching Sireesha
Hi Raghav da, question. These steps are working absolutely fine for Mobile browser applications. But for Native Apps. the JMeter is not recording any details. Are there any specific configurations to be done for recording for Native Apps. Kindly advice
Hi Sumit, you can check some online examples, In any ways, JMeter only checks network requests performance and not client side performance
thank you sir
Most welcome Hemendra
How to install - Apache Jmeter Certificate in Iphone and Ipad ?
Hi Shailendra. this can help - www.testautomationguru.com/jmeter-record-ios-application-http-requests/
HI Raghav thanks for above link its work for me and i am glad i find your videos. while i was searching about ios device performance test then i find video to record for jmeter thorugh blazemeter too and its very streight forward . i hope it might will help to Shailendra also . Raghav i will wait for your version of vedio on IOS. Many Thanks .
czcams.com/video/muB106uQDG0/video.html see if its work for you or you need any help to record it . you can do through Jmeter by same step.
Hi, Nice video. Can we record mobile app actions through jmeter? I need to do performance testing using jmeter. Is that right option? Please guide me.
JMeter will record the network calls and performance, and not client perforamance
How can I operate mobile from my Laptop as you shown in this video?
You can use Vysor app
should I install the Visor app in PC or Mobile??
Just an clarification,whether in jmeter only webapps can be performed?whether native apps and hybrid apps can be done in jmeter ?
Hi Sandra, JMeter checks server performance and not client side. That means irrespective of the client, It will monitor the network communication to the server and shows the result. So you can connect to a server from a web app or mobile native app or desktop, JMeter will just record the network communications
Hi Raghav!
How to do performance testing for apps installed in mobile using Jmeter?
Is there any video by you?
Hi Amar,
As of now this is the only video I have for Mobile App testing using JMeter, You can check for more options online
Thanks for the video, in my test environment, my desktop and my mobile phone are not connected from the same wifi source.
is it possible to record using a usb cable ?
I don't think that will work
hello.i have seen all your videos regarding load test with jmeter.I have one request. please make a set of load rest tutorial in which you test one whole website step by step so that new ones like me understand that how actually we can test load on a whole website. thank you
Hi Hina, thanks for watching. Although i have covered most of the concepts in these sessions. And you can apply this knowledge in your project, i will try creating the session as requested by you if i get some time.
Hi RaghavPal, I followed the same steps from the video. But when I change my proxy settings in mobile and start the recording, it is showing "No data connection" in mobile. I have also installed Jmeter Certificate and enabled developer options on my phone but there is no sign of any samplers in Jmeter and the internet is not working from mobile.
At first tried in company laptop it did not work, also tried with my personal laptop it did not work.
Please help!!
Hi Ullas
There are a few things that could be causing the "No data connection" error in your mobile when you try to record using JMeter.
* The proxy settings on your mobile may not be configured correctly. Make sure that the proxy IP address and port are correct, and that the proxy is enabled.
* The JMeter certificate may not be installed correctly on your mobile. Follow the instructions in the JMeter documentation to install the certificate.
* The developer options on your mobile may not be enabled. Make sure that the developer options are enabled, and that USB debugging is enabled.
* The mobile and laptop may not be on the same network. Make sure that the mobile and laptop are connected to the same Wi-Fi network.
If you have checked all of these things and you are still getting the "No data connection" error, then you may need to contact your mobile carrier or JMeter support for help.
Here are some additional things you can try:
* Restart your mobile and laptop. This may sometimes fix the issue.
* Try a different proxy server. If you are using a public proxy server, try using a different one.
* Try a different mobile device. If you have another mobile device, try using that to record with JMeter.
I hope this helps
Thanks!
Thanks for the support Isaac
Hi Raghav,
Can you please tell me which android simulator you have used in this video?
Thanks.
Hi Ishit, i have connected a physical device (my android phone) and it is displayed on the screen with the help of chrome plugin Vysor
Hello, Raghav - First, thanks for your wonderful sessions.
How to test Proxy server (using iOS mobile) using JMeter.
In desktop, I have tested by providing proxy server ip and port number in browser settings. When I ran Jmeter script, I could see all the logs are rotated in proxy server and I tested the performance.
Now I want to configure proxy server on iOS device with some port. so that all the traffic is routed to proxy. How to test performance of the proxy server with iOS mobile? Please suggest, Thanks !!
Hi KK, I have not covered iOS mobile. Here are some links to help -
blogs.quovantis.com/mobile-performance-testing-using-jmeter/
www.testautomationguru.com/jmeter-record-ios-application-http-requests/
www.stickyminds.com/question/how-configure-jmeter-ios-device-test-native-application
Hello Raghav
Which tool you have used to stimulate mobile device?
I believe you are asking how I showed mobile on screen? Its through Vysor
Hi Raghav,
Does it suits for Mobile native applications. Is this alone for Performance of the application (Native Mobile application ) or else possible to test for load too by adding Listener as we done for web application. Kindly , share the result analysis for Mobile application.
Hi Fouziya, this records the server interaction through a mobile application. So you actually are testing the server side and not client side. Once you have the samplers recorded and are working fine, You can increase the load and run the test as we do for web app testing.
Hi,I am using jmeter 4.0 i am unable to record results.The issues i am facing are below.
1.Do I need to update the certificate in my computer every time when I press "Start" from test script recorder?
2.When i add my computer ip in my mobile then my internet will not work and due to that, i am unable to record any of my action in jmeter.
Kindly help me out.
Hi, you ideally do not have to add the certificate again. You might need to check on the internet settings as per your device. without network this will not work.
When i add the ip of my machine and add port which i have given in test script recorder then my internet didnot not work.
Not sure why is that happening for you.
Hi, I have tried the above method and it was successful!
For your second point, I think the mobile is going to use the internet on your connected computer.
For as long as my mobile was connected to my computer, there was no internet connection in my mobile. It used the internet connection on the computer. Because we are configuring the IP address and port of the computer, the traffic from your mobile is going through your computer and if your computer is connected to your internet, you will be able to reach to your target application server. Correct me if I am wrong in my understanding!
Hope this helps!
Cheers!!
even i face the same problem, after connecting mobile and laptop in same wi-fi network, my mobile doesnt open any webpage. kindly help
Hi raghav I just want to know if there is any method to audit the test execution on devices. As we are doing manual testing of applications on many different devices
So I want to audit that every test case has been executed or not.
Please reply as soon as possible.
Thanks
Hi Shikhar, you need test coverage analysis. There are diff ways you can do it. Check few links here - bit.ly/2KADTx3
Hi Raghav.. thanks for this wonderful video. I have one doubt when I tried to install certificate in Android its give me error("This file cant be used as certificate").
Hi, this is typically caused when the file you are trying to use as a certificate is not in the correct format or has been corrupted
Make sure that you are using the correct file format. A certificate file should typically be in the .pem or .crt format
If you have the certificate in a different format, such as .cer, you may need to convert it to the correct format
Restart your device and try again. Sometimes, a simple restart can resolve issues with installing certificates
Hi Raghav,
Can we do performance test on native android app using same steps given in video.
Hi Sangram, you can do. JMeter will cover the network communications (calls to server) irrespective of the client used
Thank you!
You're welcome!
Hello, I am trying to test our mobile app in iPhone but is there any way that I can use the wired connection instead of a WiFi? WE have different networks for Mobile and Desktop for security purposes. thanks
Hi Marjorie, we basically need single network for both. You can use proxy. Pls check this - www.blazemeter.com/blog/load-testing-mobile-apps-made-easy/
Hi, I have connected my phone through proxy but then my WiFi is gone in the mobile, so I am not able to run any app without internet(similar network). Suggestion please.
Dharmesh
To record a test with JMeter on a mobile device without internet, you can use a technique called reverse tethering. Reverse tethering allows your mobile device to use your computer's internet connection.
To set up reverse tethering, follow these steps:
1. Connect your mobile device to your computer using a USB cable.
2. Enable reverse tethering on your mobile device. The steps for enabling reverse tethering vary depending on your mobile device's manufacturer and model. You can usually find the instructions for enabling reverse tethering in your mobile device's settings.
3. Configure JMeter to use your computer's network interface. The steps for configuring JMeter to use your computer's network interface vary depending on your operating system. You can usually find the instructions for configuring JMeter to use your computer's network interface in the JMeter documentation.
Once you have configured reverse tethering and JMeter, you can start recording your test.
To record your test, follow these steps:
1. Start JMeter.
2. Add a HTTP Request sampler to your thread group.
3. Configure the HTTP Request sampler to record your test.
4. Start the recording.
5. Perform the actions that you want to record on your mobile device.
6. Stop the recording.
Once you have stopped the recording, you will be able to view the recorded test in the View Results Tree listener.
Here are some additional tips for recording tests with JMeter on mobile devices without internet:
* Make sure that your mobile device is connected to your computer using a USB cable before you start the recording.
* Disable any apps on your mobile device that are using the internet.
* Close any background apps that are running on your mobile device.
* Use a fast internet connection on your computer.
I hope this helps
@@RaghavPal Hi Raghav, thanks for a wonderfull tutorial. I too followed the same steps as per the video and after I have setup the proxy I cant access any application on my Redmi 9S phone, and hence no recording is generated in Jmeter. Could you provide more insight on it as what need to be done?
hello, i have a question, hopefully you answer me. i follow all the steps in this video, did research, but still i can not record my mobile with jmeter. when i set up my phone keeps wifi connected but with out internet. again i havent miseed any of the step that you mentioned in this video.
Check for your specific mobile device, May be some settings are different
This was very much helpful but i am facing issue in internet connectivity after setting proxy in mobile. Could you please help me on this. I appreciate your help.
Hi Sathish, this can be due to specific device
Hi Raghav, I have to load test a mobile native app. I am using JMeter version 5, I have connected my office laptop and mobile device to same WIFI network and when i try to set the proxy configuration by giving my laptop ip and port as 8888 then save in mobile device. I am getting 'No internet connection' in mobile device. I am struck here
Hi, it depends on the mobile settings for the specific device you are using. There are a few steps you can try to resolve the issue:
1. Check that the proxy settings on your mobile device are correct. Make sure that the proxy host and port match the values you specified in JMeter. Check for extra spaces, spellings etc.
2. Restart your mobile device and JMeter to see if the issue is resolved.
3. Check that your mobile device is connected to the same network as the machine running JMeter. If the device is connected to a different network, it may not be able to access the internet through the proxy.
4. Make sure that the network connection on your mobile device is stable. If you are using a wireless connection, try switching to a wired connection or vice versa.
5. If you are using a VPN on your mobile device, try disabling it to see if it is causing the issue.
6. If none of these steps help, you may need to check the JMeter logs to see if there are any errors or warning messages that can help you troubleshoot the issue.
7. If you are still unable to resolve the issue, you may need to consult with your network administrator or IT support for further assistance
Pls try and let me know if any of these work for you, it will help others
please as early as possible give me suggestions i am waiting for reply
Can you please upload one video regarding - How to do android/IOS app load testing using Jmeter.
I will plan Telugu
@@RaghavPal Still I am waiting for your video.
I want to make a video about the concept of testing web applications. For example. What checks to do, how many checks, how long, how many users. Tell about your concept of testing web applications. Your Project Plan. Thank you very much.
Hi Ivan, I will tell you a generic scenario for any web application's performance testing.
1. Always do performance testing on a separate env. Create a sep env which will not be used for other activities
2. Run your tests with the same infrastructure, network stats etc. To get consistent results and can be compared with the baseline
3. Always have a baseline to compare your test against.
4. JMeter checks the server performance and does not care for browser render time. So if you see your jmeter results are good but your application is still slow. Check for client-side performance testing tools
5. Focus on the areas that needs performance testing based on user scenario
6. Always document your results
@@RaghavPalThank you very much))
Hi @raghav, I want to use jmeter for mobile application, but not able to do the recording, could you pelase help me here, i followed all the steps given by you.
Hi Pranali, what is the issue, it can be your device specific settings
Hi Raghav, can you please suggest any performance testing tool that can be used for client side performance testing in mobile apps if it is not possible with JMeter?
Hi Harshal
If you're looking for a performance testing tool specifically designed for client-side performance testing in mobile apps, one popular option is:
1. **Gatling**: Gatling is an open-source load testing tool that supports performance testing for web, mobile, and streaming applications. It has a DSL (Domain-Specific Language) for creating test scenarios and provides detailed performance metrics and reports. Gatling also supports testing mobile apps by simulating virtual users interacting with the app.
Additionally, while JMeter is primarily designed for server-side performance testing, it can also be used for client-side performance testing in mobile apps with the help of plugins or custom scripts. Some JMeter plugins that can assist with mobile app performance testing are:
2. **BlazeMeter plugin for JMeter**: BlazeMeter provides a plugin for JMeter that enhances its capabilities for mobile app performance testing. It offers features like capturing and replaying mobile app traffic, simulating various network conditions, and generating performance reports.
3. **JMeter Proxy Server**: JMeter has a built-in proxy server that can be used to record the interactions between a mobile app and the server. By configuring the mobile device to use the JMeter proxy, you can capture the network traffic and perform performance testing on the client-side.
Both Gatling and JMeter (with plugins or proxy server) can be effective tools for client-side performance testing in mobile apps. The choice depends on your specific requirements, familiarity with the tool, and the level of detail and metrics you need for your performance testing.
Hi Raghav,
I got mobile application for performance. In the mobile application I have to teat call functionalities, like audio call and video calls, users within how many seconds should be able to join, I don't have permission to to record using proxy to jmeter, so in this case how can I record calls for performance testing, can you please help me.
Challa
Since you can't use a proxy to record traffic, we need to find an alternative approach
Use JMeter's Mobile Recorder: Although you can't use a proxy, JMeter has a built-in Mobile Recorder that can capture mobile app traffic. However, this requires the mobile app to be instrumented with the JMeter agent.
b. Use a network sniffer: Tools like Wireshark or Tcpdump can capture network traffic, including the calls made by the mobile app. This would require some technical expertise to set up and analyze the captured traffic.
c. Use a mobile app testing framework: Some mobile app testing frameworks, like Appium or Robotium, provide features to simulate user interactions, including making calls. These frameworks might allow you to script the call functionality and measure the time it takes for users to join.
d. Collaborate with the development team: If you have a good relationship with the development team, you could ask them to provide you with a test environment or a modified version of the app that allows you to record traffic or measure call join times.
I did everything but after doing it all, nothing works in my phone, all app says you don't have internet, what do i do now?
Hi Sweta, it is due to proxy connection, did you try to start recording from JMeter and then try to access the apps.
Hi Raghav, a very nice video but can you post something using the iOS app too?
Thanks.
I will plan Pratim
@@RaghavPal Thanks for the quick response. That'd be of great help!