机器人框架AutoIt的库显示没有错误,但不启动应用程序

问题描述 投票:1回答:1

应用程序,如记事本或写字板是没有得到通过运行命令,甚至使整个路径后打开。计算器是越来越打开,但没有其他程序是越来越开放。 AutoIt的安装,并在我的系统做工精细。计划计算器也工作正常,但没有其他应用程序似乎开始。所有运行的显示测试为合格但即使在应用程序不起来。

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

Run_Program
    RUN   SnippingTool.exe
robotframework autoit
1个回答
0
投票

似乎Run方法是隐式施加SW_HIDEFlag说法,AutoItX。

在AutoIt的,如果你使用的Default关键字,如Run功能的标志参数,它隐藏了使用SW_HIDE的标志启动窗口。 SW_HIDE是AutoItX默认为好,因为我的测试显示。

所以,这似乎是结果是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

记事本窗口不显示。

我不知道如果常量已经上市,所以我增加了一些变数用作FlagRun说法。所有变量的测试在测试启动窗口状态确定。

需要注意的是File System Redirector会影响在x64操作系统路径。为即一个32位的过程可以被重定向到SysWOW64代替System32目录目录。在x64操作系统,SnippingTool.exeSystem32一个64进程访问,虽然不是SysWOW64进行重定向x86的过程。 SysNative是一个别名可避免在x86过程的重定向。

我不知道wordpad.exe是在OS PATH变量,所以你可能需要使用的完整路径进行访问。仅为Run未能通过测试参数wordpad.exe

© www.soinside.com 2019 - 2024. All rights reserved.