sbabcoc / Selenium-Foundation

Selenium Foundation is an automation framework designed to extend and enhance the capabilities provided by Selenium (WebDriver).
Apache License 2.0
60 stars 16 forks source link

Appium nodes need to be launched in a separate process #231

Closed sbabcoc closed 2 years ago

sbabcoc commented 2 years ago

Currently, the command line used to launch appium nodes for local Grid instances are executed in the current process. This works for the Java-based nodes, because the GridLauncherV3 class spawns a separate process for these servers. For appium, I need to take care of this myself.

sbabcoc commented 2 years ago

The pm2 process manager appears to do what I need. To use this node module, I need to use the same technique I currently employ for running the npm module, so a bit of refactoring on AbstractAppiumPlugin is in order.

In the research I've done so far, it appears that LifecycleServlet doesn't actually do anything to stop the appium server. I'll need to use pm2 to kill the process instead.

sbabcoc commented 2 years ago

One thing to figure out is if there's some way to suppress the windows that pop up when running appium within the context of pm2.

sbabcoc commented 2 years ago

Apparently, another option besides pm2 would be to run the node inside a Docker container. This is another install and another learning curve, though.

sbabcoc commented 2 years ago

Resolved by #232