Меня зовут Иван Сидоренко, я инженер по тестированию в компании Digital Design.
Передо мной стояла задача разработки авто-тестов для одного из наших проектов с помощью инструмента Selenium WebDriver на языке Java. Подробнее про это вы можете прочитать в моей прошлой статье
Selenium — это инструмент для автоматизации веб-приложений в различных браузерах. В ходе разработки авто-тестов мне попался сценарий, при котором необходимо взаимодействовать с Windows окном для загрузки файлов. К сожалению, Selenium не умеет работать с Windows окнами, поэтому нужно было найти альтернативное решение.
В ходе поисков выбор пал на AutoIT. Этот инструмент разработан для автоматизации задач в Microsoft Windows, что и было необходимо. В этой статье я опишу работу с AutoIT для решения поставленной задачи. Предполагается, что у вас уже развернута среда разработки с подключенным Selenium WebDriver. В качестве примера будет использоваться окно для загрузки фотографий на одном из сайтов по редактированию фото. Итак, приступим.
1. Скачиваем и устанавливаем AutoIT
2. Переходим на один из сервисов по загрузке фотографий, например, сюда. Здесь необходимо нажать кнопку «Загрузить фотографии», для получения такого Windows окна
3. Теперь переходим в папку AutoIT3 и выбираем Au3Info.exe
4. Au3Info — это инструмент, который позволяет получить информацию о необходимом окне для автоматизации. Чтобы получить информацию о конкретном элементе просто перетащите курсор из блока Finder Tool на элемент окна. Получим значения атрибутов поля ввода элемента «Имя файла»
Для использования в скрипте AutoIT нам понадобиться атрибуты Title = 'Открытие' и Class = 'Edit'
5. Перейти в папку AutoIt3\SciTE и выбрать SciTE, здесь напишем такой простой скрипт
Здесь ControlFocus — метод, который устанавливает фокус на элементе окна «Имя файла»
— Первый параметр это значение Title, нужного окна, в нашем случае оно равно 'Открытие'
— Второй параметр необязателен
— Третий параметр это объедение значений атрибута Class и Instance, т.е. получается Edit1
ControlSetText — метод, с помощью которого происходит ввод текста в input элемента «Имя файла»
ControlClick — кликает по кнопке «Открыть»
6. Сохраняем скрипт как Autoit
7. Теперь, чтобы запустить скрипт, его нужно скомпилировать. Для компиляции скрипта есть два варианта — либо для 64 разрядной системы, либо для 86. Выберете соответствующий вашей операционной системе.
8. Получили скомпилированный файл AutoItScript.exe Проверим его работоспособность — перейдем на <www.iloveimg.com/ru/photo-editor">сервис редактированию фото и нажмем «Выбрать изображение». Теперь запустим AutoItScript.exe
9. Теперь этот скрипт можно добавить в Selenium. Например для Java, такое добавление будет выглядеть вот так:
Это решение отличается высокой стабильностью. Также из-за того, что в конечном итоге получаем исполняемый файл это решение можно использовать с разными языками программирования. Недостатком является то, что такой скрипт нельзя использоваться в headless моде — режиме, при котором не происходит запуск браузера.
Надеюсь эта статья поможет вам в автоматизации тестирования!
Передо мной стояла задача разработки авто-тестов для одного из наших проектов с помощью инструмента Selenium WebDriver на языке Java. Подробнее про это вы можете прочитать в моей прошлой статье
Selenium — это инструмент для автоматизации веб-приложений в различных браузерах. В ходе разработки авто-тестов мне попался сценарий, при котором необходимо взаимодействовать с Windows окном для загрузки файлов. К сожалению, Selenium не умеет работать с Windows окнами, поэтому нужно было найти альтернативное решение.
В ходе поисков выбор пал на AutoIT. Этот инструмент разработан для автоматизации задач в Microsoft Windows, что и было необходимо. В этой статье я опишу работу с AutoIT для решения поставленной задачи. Предполагается, что у вас уже развернута среда разработки с подключенным Selenium WebDriver. В качестве примера будет использоваться окно для загрузки фотографий на одном из сайтов по редактированию фото. Итак, приступим.
1. Скачиваем и устанавливаем AutoIT
2. Переходим на один из сервисов по загрузке фотографий, например, сюда. Здесь необходимо нажать кнопку «Загрузить фотографии», для получения такого Windows окна
3. Теперь переходим в папку AutoIT3 и выбираем Au3Info.exe
4. Au3Info — это инструмент, который позволяет получить информацию о необходимом окне для автоматизации. Чтобы получить информацию о конкретном элементе просто перетащите курсор из блока Finder Tool на элемент окна. Получим значения атрибутов поля ввода элемента «Имя файла»
Для использования в скрипте AutoIT нам понадобиться атрибуты Title = 'Открытие' и Class = 'Edit'
5. Перейти в папку AutoIt3\SciTE и выбрать SciTE, здесь напишем такой простой скрипт
Здесь ControlFocus — метод, который устанавливает фокус на элементе окна «Имя файла»
— Первый параметр это значение Title, нужного окна, в нашем случае оно равно 'Открытие'
— Второй параметр необязателен
— Третий параметр это объедение значений атрибута Class и Instance, т.е. получается Edit1
ControlSetText — метод, с помощью которого происходит ввод текста в input элемента «Имя файла»
- Первый параметр — значение Title
- Второй параметр необязателен
- Третий параметр это объедение значений атрибута Class и Instance, т.е. получается Edit1
- Четвертый параметр — текст, который будет введен в input, здесь прописываем путь до файла, который будем прикреплять
ControlClick — кликает по кнопке «Открыть»
- Первый параметр — значение Title
- Второй параметр необязателен
- Третий параметр это объедение значений атрибута Class и Instance, т.е. получается Button1
6. Сохраняем скрипт как Autoit
7. Теперь, чтобы запустить скрипт, его нужно скомпилировать. Для компиляции скрипта есть два варианта — либо для 64 разрядной системы, либо для 86. Выберете соответствующий вашей операционной системе.
8. Получили скомпилированный файл AutoItScript.exe Проверим его работоспособность — перейдем на <www.iloveimg.com/ru/photo-editor">сервис редактированию фото и нажмем «Выбрать изображение». Теперь запустим AutoItScript.exe
9. Теперь этот скрипт можно добавить в Selenium. Например для Java, такое добавление будет выглядеть вот так:
Runtime.getRuntime().exec("С:\\auto\\AutoItScript.exe");
Это решение отличается высокой стабильностью. Также из-за того, что в конечном итоге получаем исполняемый файл это решение можно использовать с разными языками программирования. Недостатком является то, что такой скрипт нельзя использоваться в headless моде — режиме, при котором не происходит запуск браузера.
Надеюсь эта статья поможет вам в автоматизации тестирования!