我正在运行本地BrowerStack测试,为此我必须实例化与本地服务器和BrowserStack的连接。找到此类测试的说明here。
我正在尝试将流程声明为变量
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:进程似乎已链接,因为当我从任务管理器中退出其中一个进程时,有时另一个将自动关闭。
答案 0 :(得分:0)
原来这就是BrowserStack处理登录过程的方式,也是不可避免的。