Роботная библиотека AutoIt показывает ошибку, но не запускает приложение - PullRequest
0 голосов
/ 05 февраля 2019

Такие приложения, как блокнот или WordPad, не открываются командой запуска даже после указания полного пути.Калькулятор открывается, но никакая другая программа не открывается.AutoIt установлен и работает нормально в моей системе.Программа для калькулятора тоже работает нормально, но другие приложения вроде не запускаются.Все прогоны показывают тест как пройденный, хотя даже если приложение не работает.

Я уже пробовал полный путь и попробовал другой ответ на Команда запуска Robot Framework AutoitLibrary не завершается с ошибкой, но не открываетсязаявка

Run_Program
    RUN   SnippingTool.exe

1 Ответ

0 голосов
/ 07 февраля 2019

Кажется, что метод Run неявно применяет SW_HIDE для аргумента Flag, в AutoItX .

В AutoIt , если вы используетеключевое слово Default в качестве аргумента флага в функции Run скрывает окно запуска, используя флаг SW_HIDE.SW_HIDE является значением по умолчанию в AutoItX , как показывает мое тестирование.

В результате получается, что calc.exe игнорирует флаг SW_HIDE при запуске, в то время как другие программынапример, notepad.exe может применять его.Программы запускаются, и вы можете видеть в Task Manager , что они работают, но окна могут находиться в скрытом состоянии.

Это тестовый файл, открытый с помощью процесса 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 Run,Все переменные тестировались нормально при тестировании состояния окна запуска.

Обратите внимание, что перенаправитель File System может влиять на пути в ОС x64.32-битный процесс для ie может быть перенаправлен в каталог SysWOW64 вместо каталога System32.В операционной системе x64 SnippingTool.exe находится в System32 для доступа к процессу x64, но не в SysWOW64 для перенаправленного процесса x86.SysNative - это псевдоним, который может избежать перенаправления процесса x86.

Я не знаю, wordpad.exe находится в переменной OS PATH, поэтому вам может потребоваться использовать полный путь для доступа.Run с аргументом только wordpad.exe не проходит тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...