I want to do the load and performance testing for mobile app like wtapp,facebook separate apk. so is there any method to do the load testing using jmeter.
As I have seen jmeter proxy setup in mobile application but there are recording mobile web application. I want test the separate application not browser dependent.
I want to record the separate apk for example.. i will open wtapp and login into wtapp those API calls should be recorded in jmeter.
For which operating system?
iOS - it's sufficient to install JMeter's certificate and enable full trust for it
Android - you will need access to application source code in order to be able to amend its network security configuration like it's described in Configure Android Devices for Proxy Recording article. If you don't have access you will need to use rooted device/emulator and install JMeter's certificate into your root CA storage
Related
I tried the following in order to record mobile app steps using jmeter:
Start Jmeter on the my laptop and add the necessary recording templates.
Copied and installed the Jmeter cert on the mobile phone.
Connected the mobile phone to the same wifi that my laptop (with Jmeter) is on.
In the proxy hostname, I added the ip address of my laptop (with Jmeter). I also add the same port that was configured in Jmeter for my laptop.
Clicked start on the HTTP(S) Recording controller to start recording.
NB. I ensured my firewall was off during the recording.
I tried these steps several times, but when I use my mobile app on my phone, nothing gets recorded. I then tried navigating to a site using the browser but it does not record these actions either. Instead, it records other steps that I don't recognise. Please see links below for what I am seeing in Jmeter.
Does anyone have a solution to this?
Recorded Steps
Errors Displayed
You're getting this error:
because JMeter is not capable of decrypting the intercepted traffic as you didn't install JMeter's MITM certificate onto your mobile device.
The certificate is called ApacheJMeterTemporaryRootCA.crt and it's being generated in "bin" folder of your JMeter installation when you start the HTTP(S) Test Script Recorder.
I cannot provide exact steps for the certificate installation without knowing the operating system (including version) of your mobile device, however you might find the following material helpful:
Five Tips for Using Self Signed SSL Certificates with iOS
Android: Add & remove certificates
Recording Using Android Devices
Using self-signed SSL in Android (Nougat+)
hey you have to "trust the jmeter certificate in your mobile device". in ios its "trusted certificates-->certificate trust setting--> enable button for jmeter certificate which you took from jmeter machine to the mobile (ios in my case)"
I am developing an Online Attendance System.I have a biometric fingerprint device plugged in to my PC and I want to get the fingerprint data in my angular app running in the browser so that I can authenticate it.How can i allow my browser to read the data from that USB device.I have read about some SDKs like WebUSB by Google but I am not sure whether it is the right technology.
WebUSB seems like promising though available from Chrome 64 only.
People using other browsers & older versions may not be able to use it.
https://caniuse.com/#search=WebUSB
Also, no polyfills are available for WebUSB now.
I am working on Mobile Testing of Web Application. I have done real-time performance measurement in chrome browser using JMeter and Web Driver sampler.
Now, I want to do the same in real mobile devices.
For example, if 10 users need to log in, I want to simulate it in multiple mobile devices. Kindly suggest me the best way to do the mobile performance testing.
Since I am working on a web application, it mostly involves in Chrome browser and gmail app's default browser.
If you want to simulate multiple users concurrently accessing your application backend the best way would be going for JMeter's HTTP Request samplers as real browsers are very resource intensive.
Record your mobile device network activity using JMeter's HTTP(S) Test Script Recorder, check out Load Testing Mobile Apps Made Easy guide for instructions.
If your goal is to simulate different devices you can configure relevant User-Agent header in the HTTP Header Manager
Set up as many threads as needed in Thread Group
Run your test and analyze results
Can I manually test an "ipa" or "apk" file generated by Codename One on a device farm, like using a real device?
I have this doubt because, on the AWS Device Farm FAQs, it's written so: «My app is obfuscated. Can I still test my app on AWS Device Farm? Yes, if you use ProGuard. If you use DexGuard with anti-piracy measures, we are unable to re-sign the app and run tests against it.»
I know that the apps generated by Codename One are obfuscated, that's why I don't know if I can use them on Amazon device farm.
We use the default proguard not dexguard so there shouldn't be a problem with Amazon. You can also disable the proguard obfuscation stage entirely with the build hints.
Chrome desktop application for web based product. Is this possible in chrome web apps
Product has following items
Angular JS --- Front-end framework
Rails --- JSon Communication
I have created the chrome desktop apps, which will directly open the site with icon. It's more feel like desktop application. In any OS it will run. The thing is working fine.
Problem:
It will always download the js and css files.
How i want to develop the chrome desktop apps
When launching the chrome desktop app, save all the assets locally.
Whenever chrome desktop app launched, it should refer the locally saved assets (I mean angular js files and css)
Before launching the chrome desktop app, it should request the server whether the assets are changed or not. If changed delete the locally saved files and save the latest one.
If assets are not changed use the old assets files. In this way, we can avoid the initial loading of all the files from the server.
Anybody did it previously or chrome provide any options for this?
Ideas are welcome!
Its totaly possible.
Read these docs: https://developer.chrome.com/apps/offline_apps
By myself i pack the css and javascript into the chrome app so you never have to download them on startup. But in your context its more like a webview app with caching functions.
You can use indexeddb or other local storage APIs to store assets in the client computer.
You can solve this on the web app side by employing ApplicationCache, which specifically fits what you describe.
Using the cache interface gives your application three advantages:
Offline browsing - users can navigate your full site when they're offline
Speed - resources come straight from disk, no trip to the network.
Resilience - if your site goes down for "maintenance" (as in, someone accidentally breaks everything), your users will get the offline experience
The Application Cache (or AppCache) allows a developer to specify which files the browser should cache and make available to offline users. Your app will load and work correctly, even if the user presses the refresh button while they're offline.
While it is primarily an offline-fallback technique, it allows you to cache resources locally just for speedup purposes. Actually having an offline fallback is a bonus in this case.
Actually building a Chrome app for this will probably not help - you cannot update local resources from your web app side, you'll need to update your app through WebStore channels only.