Перейти к содержимому

Фотография

Возможности pywinauto


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 08 февраля 2012 - 08:20

Интересует опыт тех, кто использовал библиотечку pywinauto для питона.
Бросаю вопрос в эту ветку, т.к. TestComplete - самый знакомый продукт для тестирования GUI.
Питон, с другой стороны - тоже язык с очень развитыми средствами, и даже более универсальный.

Хочется узнать, какие возможности и ограничения есть в pywinauto насчет распознавания GUI контролов и их свойств.
Чего будет не хватать по сравнению с TC? Что будет лучше? (Только прошу не писать про фирменные компоненты типа DDT, Keyword testing и т.д. или про развитую IDE - интересует именно работа с контролами на уровне скриптов).

Спасибо.
  • 0

#2 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 09 февраля 2012 - 08:29

У меня есть опыт полгода работы с этой библиотечкой, автоматизирую тестирование инсталлятора с ее помощью.

  • Во-первых, она предназначена только для работы со стандартными Win32 контролами. .NET, Delphi, Qt и прочие контролы распознаваться не будут вообще.
  • Во-вторых, там нет никакого аналога Object Spy, т.е. нет возможности навести курсор мыши на контрол и получить по нему всю информаци (т.е. свойства и их значения).
  • В-третьих, нет никакой возможности делать скриншоты, т.е. для этого нужно подключать какую-то еще дополнительную библиотечку. Я не нашел подобной нормальной бесплатной (на питоне, естественно), если найдете - буду вам очень признателен за информацию.
  • В-четвёртых, очень не хватает возможности обратиться к окну по индексу (т.е. например есть у нас 2 одинаковых окна с одинаковыми заголовками, я хочу обратиться к тому, которое было открыто вторым), в том же ТестКомплите или СилкТесте эта возможность есть.
В остальном библиотека очнь простая и удобная, очень рекомендую.
  • 1

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#3 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 09 февраля 2012 - 09:13

Вопрос со скриншотами закрыт.

http://www.pythonwar...m/products/pil/

и пример использования
http://www.blendedte...t-python-pil/38

К сожалению, в случае наличия 2х мониторов, скриншот снимается только с основного экрана
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#4 ch_ip

ch_ip

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 09 февраля 2012 - 21:33

Во-вторых, там нет никакого аналога Object Spy, т.е. нет возможности навести курсор мыши на контрол и получить по нему всю информаци (т.е. свойства и их значения).

А в качестве Object Spy можно использовать AutoIT
  • 0

#5 Vader

Vader

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • Город:Харьков

Отправлено 09 февраля 2012 - 22:42

Вопрос со скриншотами закрыт.

http://www.pythonwar...m/products/pil/

и пример использования
http://www.blendedte...t-python-pil/38

К сожалению, в случае наличия 2х мониторов, скриншот снимается только с основного экрана

Про 2 монитора и Python я здесь писал.

Что касается pywinauto, то, имхо, лучше использовать AutoIT+Python, хотя бы по той причине, что последнему коммиту в репозитории pywinauto недавно исполнился год. Да и комьюнити у AutoIT'a есть.
  • 0

#6 moden

moden

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:МДВ

Отправлено 26 мая 2012 - 19:21

Интересует опыт тех, кто использовал библиотечку pywinauto для питона.
Бросаю вопрос в эту ветку, т.к. TestComplete - самый знакомый продукт для тестирования GUI.
Питон, с другой стороны - тоже язык с очень развитыми средствами, и даже более универсальный.

Хочется узнать, какие возможности и ограничения есть в pywinauto насчет распознавания GUI контролов и их свойств.
Чего будет не хватать по сравнению с TC? Что будет лучше? (Только прошу не писать про фирменные компоненты типа DDT, Keyword testing и т.д. или про развитую IDE - интересует именно работа с контролами на уровне скриптов).

Спасибо.


Успешно использую pywinauto + python в продакшине для тестирования UI и функциональности(через UI). Cтандартные контролы.
Ограничения уже вам осветили, хотел бы остановиься на возможностях. Это работа с обычными контролами, составными контролами (например чекбокс в листвивере), работа с кнопками в трее, инструментарий функций ожидания события - wait (например, ждать максимум 3сек пока окно станет активным).
В свое время пробовал ТС - не впечатлил, ни удобством самого языка (ов), ни полезностью рекордера тестов. Все равно приходилось тест писать вручную не на самом простом языке. К тому же эта балалайка стоит не мало.
Еще подкупает возможность запаковать тест в исполняемый файл и пускать на голой системе(это про python).

Сообщение отредактировал moden: 26 мая 2012 - 19:22

  • 0

#7 moden

moden

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:МДВ

Отправлено 26 мая 2012 - 19:31

У меня есть опыт полгода работы с этой библиотечкой, автоматизирую тестирование инсталлятора с ее помощью.

  • Во-первых, она предназначена только для работы со стандартными Win32 контролами. .NET, Delphi, Qt и прочие контролы распознаваться не будут вообще.
  • Во-вторых, там нет никакого аналога Object Spy, т.е. нет возможности навести курсор мыши на контрол и получить по нему всю информаци (т.е. свойства и их значения).
  • В-третьих, нет никакой возможности делать скриншоты, т.е. для этого нужно подключать какую-то еще дополнительную библиотечку. Я не нашел подобной нормальной бесплатной (на питоне, естественно), если найдете - буду вам очень признателен за информацию.
  • В-четвёртых, очень не хватает возможности обратиться к окну по индексу (т.е. например есть у нас 2 одинаковых окна с одинаковыми заголовками, я хочу обратиться к тому, которое было открыто вторым), в том же ТестКомплите или СилкТесте эта возможность есть.
В остальном библиотека очнь простая и удобная, очень рекомендую.


>Во-первых,
Абсолютно с Вами согласен. Это головная боль, так как один из моих проектов использует htmllayout, который, кстати, не видит ни ТС ни AutoIT.

>Во-вторых
Точно, но я исправил эту жестокую несправедливость.
Представляю свой проект SWAPY. Аналог UI SPY, умеет немного генерить код для pywinauto
Конструктивная критика и предложения приветствуются!

>В-третьих
Уже решено.

>В-четвёртых
Вот тут позвольте с Вами не согласиться. Пример:
pywinauto.findwindows.find_windows(title_re=u'SWAPY - Simple Windows Automation on Python. v 0.4.1', class_name='wxWindowClassNR')
Вернет список хендлов всех окон, подпадающих под критерии поиска.

Сообщение отредактировал moden: 26 мая 2012 - 19:32

  • 1


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных