Selenium chrome remote web driver deosn't work on vpn - selenium

I'm using Selenium remote web driver for gui testing. The server is on Linux, the browser is on Windows. Everything works fine when I'm using a 'regular' connection. The first issue is that when I switch from cable to wifi, I have to restart the computer for the remote webdriver to work. But the main problem, is that when connecting to vpn, nothing works at all - the browser won't even open. Has anyone encountered anything like this in the past?
Let me know if more details are required..
Thanks :)

Chrome doesn't allow extensions while running /controlled by selenium. I end up using VPN application(hide me,norvpn) which globally change ip for the running applications on my machine.

Related

Robot Framework executing test on RDP client

I have my robotframework setup on my PC.
I would like to connect to a remote windows client, have it open a browser and access a URL.
Verify that the pages has loaded.
Pretty basic but since I am new to RF, I wanted to know how that would work.
For Linux machines, I would use the SSHLibrary and just execute commands (wget) but for the windows machine, I need to use the browsers.
Do I need RF installed on the destination client RDP?
Do I need the webdrivers for each browser on the client RDP?
How would I go about logging in the Windows machine through RDP?
After Logging in with RDP, I run the same "open broswer" with broswer and URL?
Thanks!!!
The use case you describe - a browser to be opened & controlled on a remote machine, is precisely what Selenium solves.
Though in day-to-day work or debugging we are usually starting a local browser, SE is preliminary designed for remote execution. So head to www.selenium.dev, and focus on the Grid - that's the component you are after.
I'm that approach, answers to your specific questions:
no, you need Robot Framework and selenium library on the local machine, and only selenium & webdriver on the remote.
you don't need the drivers on the client - the selenium library is all you communicate with in your code; you need them installed in the remote only.
on the local you will get the logs of the webdriver commands execution; actual browser manipulation logs are only on the remote and the hub (but these are really debugging ones, everything high-level for the functional execution is local).
you don't really log into RDP with this approach (RDP is totally out of the picture here), and yes - your code is the same as running on local browser - Open Browser, Get Text, etc - but, executed on a remote machine.
If you want to see why 1) and 2), head to the answer over here (shameless plug 🙂)

How to launch the browser on client side using selenium webdriver

I am new to selenium. I am developed one application using a selenium web driver for doing some actions on the webpage. It's perfectly working when I am running locally i.e., it launches a browser in my machine. I deployed this application on a VM server so the script runs on the server(launched browser in VM Ware Machine), not on the client-side. Can anyone help me with how can I launch the browser on the client-side?
You have to create Hub and Nodes using selenium grid
You can refer this link to see step by step
http://www.seleniumeasy.com/selenium-tutorials/how-to-configure-selenium-grid
Your server will be hub and your client machine will be node
If you trigger from one machine, you can launch a browser on another machine using the selenium-grid concept
But both machines are under the same LAN.
Here you want to execute on the client machine. It is not possible, because your machine and client machine won't be under the same network

HoloLens device portal not available

When connecting HoloLens via USB to my computer, the device portal is still not available after setting it up as explained in the install tools page.
All I get in the browser 127.0.0.1:10080 is the generic "unable to connect" page.
Is there any way to know what is failing? What could I check? Any tip will be appreciated!
EDIT: browsers used: Edge, Firefox and Chrome.
EDIT2: Hololens development mode is on.
Connecting over USB requires the PC be running IPoverUSB, which is installed with the Windows 10 SDK. You can verify that it's running by checking the Services tab of Task Manager for IpOverUsbSvc.
FYI, another resolution to this issue may be the USB port you are using.
I initially was using a USB 3 port (which I've used to flash my HoloLens many times) and had the same issues.
On a whim, I switched to an older USB2 port and it's working perfectly now. SO try different USB ports if you are having this issue.

Can't connect to selenium grid on VM?

I have a VM on the same network as my computer. I can remote into the VM and open up the selenium grid console (http://(ip):4444/grid/console) and it appears to be working fine.
When I try to open that same address from my own machine or any other machine on the network, I can't see it (I get a "webpage is unavailable"). I turned off all firewalls on my machine and the VM, and it didn't do anything.
Anyone run into this problem? Any suggestions?

How can I run Selenium tests when my site is in Vagrant?

I use Vagrant for my local development. Now I want to use Selenium for automated browser testing. When I setup Selenium in my VM, it works like a charm (great stuff by the way).
But now I want to move the Selenium testing out of the box. I tried to run the Java server on my host machine, forward port 4444 to port 4444 in virtualbox, and then fire the phpunit-command in VirtualBox, hoping to trigger the server on my host machine.
But instead I get a CURL-message that phpunit can't connect to 127.0.0.1:4444, so obviously there is no connection to my host machine on this port.
Can anyone tell me what I'm doing wrong?
Edit: I figured out that when I'm running the server on the host, I cannot access 127.0.0.1:4444 in my browser, however, I am able to access localhost:4444. Which is weird, because my hosts-file has the correct line (although it shouldn't matter since phpunit is trying to access a numeric address).
I think the best solution for this is to setup a "private network" this way you'll be able to use internal address to access your vm and host separately...
Depending of your vm provider different solution are possible (for example, Virtualbox support internal netowrk only)
Have a look at : http://docs.vagrantup.com/v2/networking/private_network.html