CREATING WINDOWS PHONE AUTOTESTING FRAMEWORK. OLEKSANDR SMOLENCHUK August 3, 2015 CONFIDENTIAL 1 ПОСТАНОВКА ЗАДАЧИ 1 Автоматизация смок и регрессионных тестов 2 Возможность замерять время выполнения отдельных шагов 3 Возможность выполнения тестов на реальном устройстве 4 Автоматически рассылаемые HTML отчеты 5 Скриншоты при падении теста CONFIDENTIAL 2 ПОИСК РЕШЕНИЯ В мае 2014 года Microsoft анонсировало возможность использования Coded UI для тестирования XAMLприложений для Windows Phone 8.1 Предложенные варианты • Внедрение нашего кода в приложение • Coded UI • Winium CONFIDENTIAL 3 CODED UI • Доступ к контролам приложения • Доступ к сторонним контролам – Работа с попапами – Работа с элементами рабочего стола и списка приложений – Работа с любыми XAML-приложениями, установленными на телефон • Эмуляция действий пользователя • Управление выполнением тестов • Эмуляция нажатия хардварных кнопок CONFIDENTIAL 4 СОЗДАНИЕ ПРОЕКТА • Для создания проекта и работы с Coded UI нужна Visual Studio 2013 update 4 Premium • Проект создается на базе идущего в поставке со студией шаблона CONFIDENTIAL 5 ДОБАВЛЕНИЕ UI MAP • UI Map добавляется в проект как новый эелемент • Проект может содержать несколько UI Map CONFIDENTIAL 6 CODED UI TEST BUILDER • Использовать Test Builder можно только на приложении, запущенном на эмуляторе • Контрол может быть добавлен как перетягиванием указателя на необходимый объект в приложении • Так и наведением указателя мышки на объект и нажатия Ctrl+Shift+I CONFIDENTIAL 7 UI MAP ОПИСАНИЕ КОНТРОЛА CONFIDENTIAL ФИЛЬТРЫ ДЛЯ ПОИСКА 8 ДОСТУП К КОНТРОЛАМ В ТЕСТЕ КОРОТКОЕ ИМЯ CONFIDENTIAL ДОСТУП 9 GESTURE • Класс Gesture позволяет совершать действия в приложении – Tap, DoubleTap, Slide и другие CONFIDENTIAL 10 DEVICE • Всего два действия – Нажатие Back кнопки – Нажатие Start кнопки CONFIDENTIAL 11 PLAYBACK • Позволяет устанавливать настройки хода выполнения тестов CONFIDENTIAL 12 ОГРАНИЧЕНИЯ 1 Тесты выполняются на устройстве 2 Невозможно сделать скриншот 3 Невозможно сгенерировать кастомный HTML отчет 4 Невозможно отследить, если тесты зависли 5 Медленный поиск объектов CONFIDENTIAL 13 РЕШЕНИЕ ПРОБЛЕМЫ На сколько было бы проще, если бы тесты выполнялись на обычном компьютере, почему бы не перенести их выполнение на десктоп Шаги • Скопировать UI Map в проект на десктопе • На телефоне сделать единственный тест, который бы ждал команды с десктопа и выполнял ее на телефоне • Вместо выполнения действий над приложением на десктопе формировать команды и отправлять их на телефон CONFIDENTIAL 14 TEST CONFIDENTIAL 15 ОБРАБОТКА ЗАПРОСА CONFIDENTIAL 16 UI MAP – DESCTOP VERSION CONFIDENTIAL 17 GESTURE – DESCTOP VERSION CONFIDENTIAL 18 ВЫПОЛНЕНИЕ КОМАНДЫ CONFIDENTIAL 19 MICROSOFT.XDE • Позволяет управлять эмулятором • Делать скриншоты • Совершать действия – tap, slide CONFIDENTIAL 20 УСТАНОВКА ПРИЛОЖЕНИЯ И ЗАПУСК ТЕСТОВ CONFIDENTIAL 21 ТЕСТЫ CONFIDENTIAL 22 ВОПРОСЫ CONFIDENTIAL 23