Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как можно работать с окнами Windows? Подскажите!

webdriver
java
Теги: #<Tag:0x00007f7b62092d08> #<Tag:0x00007f7b62092bc8>

#1

Добрый Вечер всем! Стараюся написать тест. Тут возникла одна проблемка, решить её пока не в моих силах, так как опыта маловато в это области!
Нуждаюся вашей помощью.
И так начнем:
Есть такая иконачка - ( http://sc.111pix.com.ua/qa/screen-17-51-08.png ). При нажатии происходит редирект на сайт ( https://www.microsoft.com/en-us/store ). Моя задача проверить что по этой ссылочке есть продукт компании.
Все бы да ничего, на платформе Windows7, все происходит удачно и работает хорошо.
НО на Windows10 открывается вот так - ( http://sc.111pix.com.ua/qa/screen-18-11-00.png ).
Открыввается окно магазина, которое уже встроенное в Windows10. Тест не валится идет дальше при этом открытом окне магазина и проходит до конца. НО хочется убрать это окно , закрыть его по крайней мере.
Может кто сталкивался с подобным, помогите разрешить ситуацию.
Заранее благодарен за советы.


(sidelnikovmike) #2

Может sikuli подойдет? Поищите на форуме, здесь о нем много инфы


#3

AutoIT вам в помощь


#4

Хотел бы уточнить, если вас не затрудинть можете подробней расказать AutoIT.
я так понял что AutoIT нужно устанавливать локально на машину! Но мой же тест будет крутить Jenkins в дальнейшем, как быть? Устанавливать на ноды ? По другому никак!


#5

Ну тогда пробуйте)


(Евгений Бухгаммер) #6

Да, при тестировании удаленных машин - вы должны будете:

Создать энвайронмент для теста (автоматизируемая программа, автоматизирующий модуль, скрипт содержащий тест, использующий автоматизирующий модуль)
Засылаем на машину тестируемую программу, AutoIT (или любой другой фреймворк, утилиту, etc)

Удаленно командуем тесту выполниться.
Тут транспортом для команды может служить как http канал, так и ssh. Ключевая идея: вы шлете коммандлайновый запрос на запуск скрипта на машине, который посредством либо AutoIT (Pywinauto, etc) начнет выполнять тест.

На обратном конце вы можете ждать return value, stdout, stderr. И парсить его. Для удобства ваших тестов, вы можете навесть глобальных хук на кастомные эксепшены в вашем локальном коде, производящем автоматизацию для того, чтобы завершать удаленный тест с разными кодами выхода, а уже по ним возбуждать(если нужно) на управляющем удаленном скрипте нужные действие, при получении ожидаемого ответа с тестируемой машины. Альтернативно - можно парсить AssertionMessage неудачного теста, если по неудаче нужно как-то конкретно обработать этот случай.


#7

Спасибо!