如何检查geckodriver在远程计算机上运行?

时间:2019-01-14 09:13:05

标签: java selenium selenium-webdriver automated-tests

我正在使用Selenium / Maven / testng编写自动测试。

在虚拟机Windows Server 2016 Standard上执行测试。

我想检查任务列表是否正在运行geckodriver。我这样做:

    String line;
String pidInfo ="";

Process p =Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe");

BufferedReader input =  new BufferedReader(new InputStreamReader(p.getInputStream()));

while ((line = input.readLine()) != null) {
    pidInfo+=line; 
}

input.close();

if(pidInfo.contains("geckodriver.exe"))
{
    // do what you want
}

运行测试后,代码在本地计算机上执行它们。

如何在虚拟机上执行此类检查

1 个答案:

答案 0 :(得分:0)

您的问题尚未完全定义。 虚拟机具有操作系统。而且您的查询中缺少此信息。

但是要给您一个大概合适的答案,通常VM是基于Linux的。

您可以在Windows命令行上手动执行以获取正确的路径

where tasklist

这将重新引导您正确的命令路径。如果缺少此命令,请搜索该命令并检查为什么PATH变量中没有该命令(不是标准的Windows安装)

在我的情况下是

C:\Windows\System32\tasklist.exe

您在Linux上执行

ps aux | grep geckodriver

在MAC上,您也可以尝试

ps aux | grep geckodriver

但这也许更好

ps -jef | grep geckodriver

在Linux和MAC执行上获取ps命令的正确完整路径

which ps

希望有帮助

其他点:

您不应手动使用“ \”路径分隔符。我总是会用

File.separator,它将为您提供正确的操作系统路径字符