我正在运行本地 BrowerStack 测试,为此我必须实例化与本地服务器和 BrowserStack 的连接。此类测试的说明可在此处找到。
我正在尝试将进程声明为变量
Process serverConnection = new ProcessBuilder("C:\\Users\\folder\\BrowserStackLocal.exe","**Password**", serverURL + ",80").start();
查看任务管理器,我看到这一行创建了两个 BrowserStackLocal.exe 进程,我认为这是由于他们如何管理登录。有没有办法可以引用第二个 BrowserStackLocal.exe 进程?
在我的清理工作中,我打电话
serverConnection.destroy();
但这只是结束其中一个过程。现在我也打电话
Runtime.getRuntime().exec("taskkill /F /IM BrowserStackLocal.exe");
这成功地结束了另一个实例,但我更愿意持有一个引用并调用 .destroy()。
任何有关如何实现这一点的建议将不胜感激。
编辑:我几乎可以肯定这两个进程的原因是登录功能,因为当我调用错误的密码时,只会打开一个窗口。第二个进程似乎是根据其 CPU 使用率进行所有计算的进程。
编辑 2:使用 BrowserStackLocal 进行进一步测试确认它是登录的过程,它创建了一个额外的过程。一种解决方案可以确定一种从第一个进程跟踪第二个进程的实例化的方法。
编辑3:进程似乎是链接的,因为当我从任务管理器中退出其中一个时,有时另一个会自动关闭。