Search code examples
javanode.jsseleniumelectronselenium-grid

Selenium seems to prevent my binary to open dynamic libraries


I am setting up a Selenium grid to automate tests of an electron application. I setup the right chromedriver and request my built electron application binary in the capabilities. My application starts properly but it fails when trying to dlopen a native library for the app (A node native module).

If I start the app manually, all works well, no error on dlopen

If I use a normal Chrome binary everything works as well.

Would selenimum-server sandbox its spawned executable and block my binary from accessing the native module?

Would java itself sandbox the selenium-server preventing any of its sub processes to access it?

I am using two machines (hub and node) both on Windows 10


Solution

  • I figured out what was wrong: My application relies on some .dll I ship with the app. This .dll is part of the VC Redistributable 2015 package. When spawning the app with selenium-server or even using the start command, that .dll is not accessible. Installing the VC Redistributable 2015 package solved my issue