I am trying to record Mobile application via jmeter for which I have done all the necessary setup in mobile device and desktop jmeter. I am facing issues with Windows Firewall as it is blocking all incoming traffic from the mobile, as this machine is administered by my organization i cannot turn off the firewall, any suggestions on how I can allow the traffic with firewall enabled?
Due to proxy setup the traffic will always come from a single port although the IP address may change depending upon the device.
Screenshot of all dropped requests arriving from Mobile device
Ask your network administrators instead of JMeter community in the Internet
Get yourself a separate Wi-Fi adapter which can act as an access point and connect your mobile device to it
Use an emulator or simulator instead of real device so everything will happen on your machine
Install a sniffer tool on the device and capture traffic there directly, once you have a .pcap or .har file you can use BlazeMeter Converter for transforming it into a JMeter script.
Related
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.
I am working on designing a load test script for a hybrid Android mobile app. I have performed the following steps but still I am unable to record the network traffic in Jmeter:
Connected my Android phone to my laptop using a USB cable and then copied the certificate file from Jmeter's bin directory to my phone.
Then installed the certificate on my phone.
Then I added manual proxy settings on my phone by setting proxy host name = my ipv4 address, and proxy port = port set on Jmeter.
Then I saved the settings and then tried recording but unfortunately nothing was recorded.
I noticed a very weird thing that on changing the proxy settings on my phone it was no longer connected to the wifi when in fact the internet was working fine on my laptop.
Please note that my phone and my laptop are connected to the same wifi network.
Unfortunately we cannot provide comprehensive answer without seeing:
jmeter.log file
View Results Tree listener results (if any)
logcat of the Android device
So for the time being I can suggest the following checklist:
You didn't start the HTTP(S) Test Script Recorder
The firewall of your operating system is not allowing incoming connections to port "port set on Jmeter"
If you want to have Internet on the Android device make sure that JMeter can connect to the Internet, if you're using the proxy - you need to explicitly configure JMeter to use this proxy
For Android 7.0 and above it's required to take extra steps for recording HTTPS traffic
I try to use JMeter for mobile applications load testing.
But its not comfartable to use WiFi every time when I need to record Mobile app traffic.
Is it possible to use USB cable to record traffic from mobile device to computer?
For example create 2 line Proxy: Mobile Device(Mob app) → Computer (JMeter) Proxy → Mobile Device Proxy → Internet.
If you want to use some form of the reverse USB tethering it means that your mobile device is basically using your computer network interface to access the outside world (intra or internet). So you need to record your PC, not your mobile traffic, to wit treat your mobile device as normal desktop application which is communicating with the backend.
In this setup you need to configure your whole operating system to use JMeter as the proxy so the traffic would be intercepted by JMeter's HTTP(S) Test Script Recorder. The setup is different basing on the operating system of the computer, check out How to Run Performance Tests of Desktop Applications Using JMeter article to get the overall idea regarding what needs to be done in order to record the traffic.
Yes it is possible provided you have access from device to server.
You would be using the localhost/8888 or machine IP / 8888 as a proxy.
is it also possible to run Cast apps on Chromecast without internet access in a local network only?
Maybe with an own webserver.
For a showcase event I can not ensure access to the internet.
The use case is for demonstration only.
Thanks you.
As of early February 2015 the Chromecast requires an internet connection to stream even local content (i.e. from your computer over your wifi).
The reason is that, to facilitate the media playback, special code (Javascript) is run directly from Google servers. Why can't Google just download this code directly to the Chromecast one time? I believe it has to do with security amongst other reasons (some nice and some not so nice)
The evidence? My internet goes down all the time, interrupting whatever I'm casting.
As Leon says, the 'cast needs Internet access part of the time. Booting (I didn't know that!), and to resolve the AppID to the receiver app URL. Once the 'cast has the URL to load and had resolved the hostname in the URL to an IP address, it no longer requires the Internet, IF everything is set up correctly and on the local subnet.
For example, I develop cast apps at home. Lets say I registered my app and the custom receiver associated with it is at https://10.0.0.5/basil_app1/reciever.html (or at a hostname that resolves in public DNS to the private IP 10.0.0.5, a hostname is what I actually use).
Then, if my app needs to load further media, it can reference it either by the already resolved hostname, or by IP, again served from the host at 10.0.0.5
It sounds a little like you're unclear on how to set up and interact with a private network and web server, which is not a Chromecast problem really.
For me, if I had to do a Chromecast demo at (for example) a customer site and was unsure of the network situation, I'd set up the Chromecast to use a private hotspot Wifi network provided by my cell phone, and have all the web resources needed served from my laptop, again configured on the private Wifi network. Again, not really a 'cast programming problem.
I have the following setup to cast from my PC to the chromecast using a mobile wireless connection.
ChromeCast -> Local Router -> PC with PDANet -> USB connect to Mobile Phone with FoxFi app installed.
Basically I have the PC and ChromeCast connected to a new wifi router ($25 belkin from Walmart). Initially, Chromecast yells at you because there isn't an internet connection. To kill the complaining from ChromeCast, simply install FoxFi on your mobile and PDANet on your PC. I've connected them via USB since the hotspot feature wont work with my carrier.
Once the connection has been established, you should see 2 connections on your PC and you can cast from PC to Chromecast. Watching netflix on it right now. Haven't tested from another device yet.
So....
Install:
-FoxFi on Samsung Galaxy S4
-PDANet on PC/Laptop
Connect:
- Samsung Galaxy S4 -> PC (via USB in my case)
- PC -> Local router
- Chromecast -> Local router
On your PC you should see 2 connections. The PDANet connection with internet access and the Local router with no internet access.
Also note that I initially installed the chromecast on my primary wifi that has internet access. No issues there, but just in case you try to get this method to work and it doesn't, maybe try setting it up on a router with inet access first, then switch to the non-inet router.
Chromecast requires an internet connection when it boots up and to load the receiver apps. Your media content can come from a local web server once the receiver app is loaded.
I am trying to develop one application which can block all urls using win32 api on windows desktop application.
So is there any api or any procedure doing programmatically so that i can block all urls?
It's impossible to block just URLs. If you want to make sure no one can access the internet the only way to do this would be to unplug the ethernet cable. (Or whatever is giving you connectivity) Here's why:
Blocking all DNS resolution won't stop someone from accessing http://206.132.84.265/
Blocking port 80 and 443 won't stop someone from accessing a web site hosted on a non-standard port.
Denying access to IE and installation of any other software won't stop someone from downloading a browser that doesn't require to be installed (Like a text browser) and putting it on a thumb drive.
Buying an expensive firewall that blocks HTTP traffic won't be able to stop SSL operating on a non-standard port.
Believe me, back in highschool I worked in a warehouse with a scanner gun and figured out how I could check my email with it (with a little help from my computer at home) since an internet gateway was on the same network.
If you want to block people from surfing the web, disconnect the internet.
I suppose you can do it using the Windows Firewall API
http://msdn.microsoft.com/en-us/library/Aa366453.aspx
You can do this using Windows Firewall Protocol. This is an API provided by Microsoft.
For Vista it's straight-forward, but for XP you need to do some work around, as examples are not available for that.