Как проверить, работает ли геккодривер на удаленной машине? - PullRequest
0 голосов
/ 14 января 2019

Я пишу автоматические тесты, используя 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 голосов
/ 14 января 2019

Ваш вопрос не полностью определен. Виртуальная машина имеет операционную систему. И это отсутствует в вашем запросе.

Но чтобы дать вам ответ, который, вероятно, подходит, обычно виртуальные машины основаны на 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

для получения правильного полного пути к команде ps в Linux и MAC выполните

which ps

надеюсь, это поможет

Другой пункт:

Вы не должны использовать разделители пути "\" вручную. Я всегда использовал бы

File.separator, который даст вам правильный символ OS-path

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...