机械手框架AutoIt库未显示错误,但未启动应用程序

时间:2019-02-05 10:00:01

标签: robotframework autoit

即使给出完整路径,运行命令也不会打开记事本或写字板之类的应用程序。计算器被打开,但是没有其他程序被打开。 AutoIt已安装并且在我的系统中工作正常。计算器程序也可以正常运行,但是似乎没有其他应用程序启动。 即使应用程序未运行,所有运行都将测试显示为通过。

我已经尝试了完整路径,并在Robot Framework AutoitLibrary run command does not fail but does not open the application尝试了另一个答案

Run_Program
    RUN   SnippingTool.exe

1 个答案:

答案 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操作系统上,System32SnippingTool.exe中供x64进程访问,但不在System32中 用于重定向的x86进程。 SysWOW64是可以避免使用 x86进程的重定向。

我不知道SysNative在操作系统wordpad.exe变量中,因此您可能需要 使用完整路径进行访问。 PATH的参数仅为Run 测试失败。