Проверка, если приложение уже открыто с Sikuli - PullRequest
0 голосов
/ 25 февраля 2019

Я создаю сценарий в Sikuli для автоматического тестирования, но столкнулся с тем, что кажется основной проблемой, для которой я не могу найти обходной путь.

Проблема, с которой я столкнулся, заключается в том, что я пытаюсь использовать2 разных приложения для скрипта, над которым я работаю.Если быть точным, если приложения уже открыты, программа не в состоянии сосредоточиться на них и пытается выполнить следующую пару строк

Я прочитал ограниченную документацию, которую Sikuli опубликовал в Интернете, и видел много других подобных проблем.но я не могу применить что-либо из этого, чтобы решить эту проблему.

Код:

appone = App("C:\Program Files (x86)\appone.exe")
apptwo = App("C:\Program Files (x86)\apptwo.exe")

if(appone.isRunning(3)):
    appone.focus()
else:
    appone.open()

if(apptwo.isRunning(3)):
    #do nothing#
else:
    apptwo.open()

wait(5)

click("image.png")

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

Appone - основное приложение, для которого я использую Sikuli, а apptwo - вспомогательное приложение, которое должно быть запущено для appone, чтобы делать то, что мне нужно.

Каков наилучший способ решения этой проблемы?

РЕДАКТИРОВАТЬ: я нашел отличное решение, которое я настроил, чтобы соответствовать моей ситуации из ответа этой темы: Проверьте, существует ли Window уже,затем сделайте окно активным, иначе откройте

1 Ответ

0 голосов
/ 07 марта 2019

Я предполагаю, что проблема может быть в том, что вы используете местоположение приложения .exe, чтобы определить, возможно ли приложение запущено.Не могли бы вы попробовать проверить, работает ли то же самое, если вы используете заголовок окна, чтобы проверить, работает ли приложение вместо пути .exe.Пожалуйста, найдите пример ниже:

if(App("Untitled - Notepad").isRunning() == True):
  print "App found!"
  App("Untitled - Notepad").focus()
else:
  print "App not found!"
  App.open("Notepad.exe").focus()

Кроме того, я получил это для работы в Sikuli 1.1.4 на случай, если вам интересно.

...