检查应用程序是否已使用 Sikuli 打开
Checking if an application is already open with Sikuli
我正在 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")
我已经尝试使用图像识别来检查 window 的任务栏以查看该应用程序是否 运行ning 但这也抛出了其他错误。
Appone 是我使用 Sikuli 的主要应用程序 运行ning,而 apptwo 是一个辅助应用程序,需要 运行ning 才能让 appone 执行我需要它执行的操作。
解决此问题的最佳方法是什么?
编辑:我从这个线程的答案中找到了一个很好的解决方案,我对其进行了调整以适应我的情况:Check if Window is already exist , then make the window as active else open
我猜问题可能出在您使用应用程序 .exe 位置来确定应用程序是否 运行 时。如果您使用 window 标题检查应用程序是否正在运行而不是 .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 中工作了。
我正在 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")
我已经尝试使用图像识别来检查 window 的任务栏以查看该应用程序是否 运行ning 但这也抛出了其他错误。
Appone 是我使用 Sikuli 的主要应用程序 运行ning,而 apptwo 是一个辅助应用程序,需要 运行ning 才能让 appone 执行我需要它执行的操作。
解决此问题的最佳方法是什么?
编辑:我从这个线程的答案中找到了一个很好的解决方案,我对其进行了调整以适应我的情况:Check if Window is already exist , then make the window as active else open
我猜问题可能出在您使用应用程序 .exe 位置来确定应用程序是否 运行 时。如果您使用 window 标题检查应用程序是否正在运行而不是 .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 中工作了。