Как белые работают с уже запущенным приложением?

Я использую библиотеку testStack/White для автоматизации приложения. Сейчас он работает нормально, но выдает исключение, если приложение уже запущено. Есть ли способ поставить галочку, например, если приложение уже запущено, то не вызывать его. я имею в виду, тогда мы можем пропустить эту строку кода

Application application = Application.Launch(@"someapplication.exe");

Я не смог найти никакой хорошей документации по White. Любая помощь будет оценена.


person Muhammad Omar Farooq    schedule 05.09.2014    source источник


Ответы (3)


вы могли бы сделать:

Application application;
Process[] processes = Process.GetProcessesByName(@"someapplication");
if (processes.Length == 0)
  application = Application.Launch(@"someapplication");
else
  application = Application.Attach(@"someapplication");

счастливое кодирование

person Alas    schedule 21.09.2014
comment
Пришлось удалить .exe часть. - person Vojtěch Dohnal; 20.06.2016
comment
Это именно тот код/логика, который я искал. Спасибо! - person Chris; 27.09.2016

Или проще

Application application = Application.AttachOrLaunch(@"someapplication.exe");
person Rik    schedule 19.02.2015

Чтобы вернуться к предыдущему ответу, чтобы найти имя нужного приложения...

1) Откройте диспетчер задач, 2) найдите процесс, который вы хотите использовать, с белым цветом 3) щелкните правой кнопкой мыши нужный процесс и выберите свойства 4) Имя для использования находится в текстовом поле. Обычно не имеет .exe.

person Chris    schedule 27.09.2016