2015-10-21 3 views
1

Выполняю автоматическое тестирование приложения с использованием pywinauto.Невозможно нажать кнопку, используя pywinauto в определенном окне в Windows 8 или 10

Он успешно работал для каждого окна приложения, но по какой-то причине он не нажимать на кнопки в мастере установки на Windows 8 и Windows, 10. Он работает на Windows 7.

опробованную с

  • питон 2.7.10.amd64
  • pywinauto 0.5.3
  • для Windows 10 x64

я могу получить координаты кнопки, текст, и любую другую информацию, однако я не могу выполнить какие-либо действия на нем (нажмите, нажмите клавишу)

Ошибки я получаю:

File "C:\Python27\Lib\site-packages\pywinauto\controls\HwndWrapper.py", line 900, in ClickInput self, button, coords, double, wheel_dist = wheel_dist, use_log = use_log, pressed = pressed, absolute = absolute) 
File "C:\Python27\Lib\site-packages\pywinauto\controls\HwndWrapper.py", line 1778, in _perform_click_input win32api.SetCursorPos((coords[0], coords[1])) pwintypes.error: (0, 'SetCursorPos', 'No error message is available') 

Спасибо!

+0

Это окно подтверждения UAC? –

ответ

1

Похоже, вы пытаетесь нажать на окно подтверждения UAC. Вы ничего не можете с этим сделать из любого скрипта. Отключите UAC (до нулевого уровня) на машинах Win8/Win10. Это единственный способ для установки и удаления GUI-автоматизации.

Процесс Python должен выполняться как администратор, конечно.

BTW, некоторые установщики допускают тихие режимы (msiexec.exe /i [MSI_path] или setup.exe /S для установщиков NullSoft (NSIS)). Конечно, это не так, если вы тестируете сам GUI установщика.

+0

Привет, Василий, я тестирую с отключенным окном UAC. – mhd

+0

Работает ли Python как администратор? –

+0

Не было. Мне удалось запустить его как администратора, однако возникла другая проблема. Он запускает два мастера установки. Мне нужно будет исследовать это. Теперь большая проблема исправлена. Спасибо за помощь! – mhd