即使给出完整路径,运行命令也不会打开记事本或写字板之类的应用程序。计算器被打开,但是没有其他程序被打开。 AutoIt已安装并且在我的系统中工作正常。计算器程序也可以正常运行,但是似乎没有其他应用程序启动。 即使应用程序未运行,所有运行都将测试显示为通过。
我已经尝试了完整路径,并在Robot Framework AutoitLibrary run command does not fail but does not open the application尝试了另一个答案
Run_Program
RUN SnippingTool.exe
答案 0 :(得分:0)
似乎Run
方法将SW_HIDE
隐式地应用于
{strong> AutoItX 中的Flag
参数。
在 AutoIt 中,如果您使用Default
关键字作为flag参数
在Run
函数中,它使用标记隐藏启动窗口
SW_HIDE
。
如我的测试所示,在{strong> AutoItX 中,SW_HIDE
也是默认设置。
因此,结果似乎是calc.exe
忽略了SW_HIDE
在启动时进行标记,而其他程序(例如notepad.exe
)可能会适用
它。程序会启动,您可以在任务管理器中看到
它们正在运行,但窗口可能处于隐藏状态。
这是使用Python X64进程打开的测试文件:
*** Settings ***
Library AutoItLibrary
*** Variables ***
${SW_MAXIMIZE} 3
${SW_SHOW} 5
${SW_MINIMIZE} 6
${SW_SHOWDEFAULT} 10
*** Test Cases ***
Run_Program
Run notepad.exe ${EMPTY} ${SW_SHOW}
Wait For Active Window Untitled - Notepad
Send Welcome To AutoIt! 1
记事本的窗口确实显示。
我不确定常量是否已经可用,因此我添加了一些
用作Flag
的{{1}}自变量的变量。全部
在测试启动窗口状态时测试了变量。
请注意,File System Redirector可能会影响x64 OS上的路径。
例如,可以将32位进程重定向到Run
目录,
而不是SysWOW64
目录。在x64操作系统上,System32
在SnippingTool.exe
中供x64进程访问,但不在System32
中
用于重定向的x86进程。 SysWOW64
是可以避免使用
x86进程的重定向。
我不知道SysNative
在操作系统wordpad.exe
变量中,因此您可能需要
使用完整路径进行访问。 PATH
的参数仅为Run
测试失败。