Вы можете попробовать pywinauto, чтобы проверить его на Windows. Для Java-части установщика может потребоваться новый «UIA» back-end, который будет выпущен в марте. Для начала тестирования вы можете попробовать следующие шаги:
- Установите pyWin32 и comtypes по
pip install pypiwin32
и pip install comtypes
.
- Установить UIA branch of pywinauto на
python setup.py install
.
Попробуйте следующий код:
import pywinauto
pywinauto.backend.activate('uia')
app = pywinauto.Application().start('your_installer_path.exe')
app.ApproximateMainWindowName.Wait('ready', timeout=15)
app.ApproximateMainWindowName.PrintControlIdentifiers()
PrintControlIdentifiers
выход намек на дальнейшие шаги. Возможны имена доступа для элементов управления в окне. Только базовые функции, такие как ClickInput()
и TypeKeys('something')
, должны работать.
Доступные методы контроля можно посоветовать здесь:
app.MainWindow.OKButton.WrapperObject(). # methods list can be displayed here in IDLE or Visual Studio Python Tools
app.MainWindow.OKButton.WrapperObject().ClickInput() # code for debugging
#app.MainWindow.OKButton.ClickInput() # it works the same way, for production code
Не стесняйтесь просить больше помощи, если что-то не работает.
Для сценариев Python может потребоваться запуск в качестве администратора для доступа к графическому интерфейсу. Или добавьте манифест для python.exe с uiAccess="true"
.
На каком языке вы предпочитаете писать тесты? Только Java? Или, может быть, Python приемлем? –
Java предпочтительнее, но если у вас есть хорошее решение с Python, я бы хотел посмотреть на это и рассмотреть. – marvellous
У нас есть пример автоматизации тестирования графического интерфейса установщика: http://stackoverflow.com/questions/32846550/python-control-window-with-pywinauto-while-the-window-is-minimized-or-hidden Но для части Java Установщик это не сработает, я думаю. Но у нас есть экспериментальное решение (будет выпущено в марте), которое может работать. Итак, что такое раннее тестирование? –