BrowserStackLocal.exe在从Java执行时创建2个进程

时间:2014-06-12 14:29:32

标签: java selenium process automation browserstack

我正在运行本地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:进程似乎已链接,因为当我从任务管理器中退出其中一个进程时,有时另一个将自动关闭。

1 个答案:

答案 0 :(得分:0)

原来这就是BrowserStack处理登录过程的方式,也是不可避免的。