appium-windows-driver icon indicating copy to clipboard operation
appium-windows-driver copied to clipboard

[Feature] Run appium-windows-driver on Linux/macOS and connect to WinAppDriver on remote machine

Open nicerloop opened this issue 1 year ago • 5 comments

Hi,

I would like to run appium-windows-driver on Linux/macOS and connect to a remote WinAppDriver.

Is this feasible with appium-windows-driver as is today? Can I have some directions to try and implement this feature?

Thank for the good work.

nicerloop avatar Oct 23 '24 12:10 nicerloop

You would need to run appium + appium-windows-driver on the windows machine and connect it from an appium-client lib.

bmarroquin avatar Nov 06 '24 05:11 bmarroquin

That is what I do today, but I would like to lighten to the maximum the installed components on the Windows VM I use.

How is the connection between appium-windows-driver and WinAppDriver setup ? What would need to be changed to allow connecting to a remote WinAppDriver ? Which features are handled locally by appium-windows-driver, and would thus be lost when running outside the target machine ?

nicerloop avatar Nov 07 '24 06:11 nicerloop

The appium-windows-driver starts a WinAppDriver process on the same host it is running and then provides a proxy to that process. The proxy is hard coded to forward requests to 127.0.0.1. You would need to set up configuration options to skip starting WinAppDriver locally and then an option to change the proxy server IP. You would probably be required to something with the port as well.

You will then run into some problems. The WinAppDriver only implements a subset features available within appium-windows-driver. Everything in the commands directory would not work. You would need to figure out how to forward that to the remote as well.

Implementing that just to reduce the size of a VM doesn't seem worth it to me.

bmarroquin avatar Nov 10 '24 22:11 bmarroquin

Well, the problem is not mainly with the raw size, but the fact that nodes has some difficulties to run in some virtualized environments (VirtualBox). See the numerous duplicates of https://github.com/libuv/libuv/issues/1633 still popping for 7 years, like https://github.com/libuv/libuv/issues/4249.

nicerloop avatar Nov 21 '24 18:11 nicerloop

Will close for now.

nicerloop avatar Nov 21 '24 18:11 nicerloop