Автоматизация тестирования любых веб-сайтов — Testoid

Проверка перехода на нужный url

Для примера проверим переход по страницам Яндекса

Для этого используем шаг «JS возвращает true» и следующий код

return window.location.href.indexOf('search') >= 0

в этом случае проверяется вхождение слова «search» в url страницы

2017  

Проверка заголовка страницы

Для примера проверим заголовок страницы Яндекса

Используем шаг «JS возвращает true» и следующий js код

return document.title.indexOf('Яндекс') >= 0
2017  

Выполнение теста для списка элементов

Что бы протестировать список ссылок ведущих на одинаковые страницы можно использовать выполнение теста для списка элемента. Протестируем, что на сайте https://yandex.ru/ есть список новостей и каждую новость можно прочитать.

Переходим на https://yandex.ru/ и начинаем запись теста с помощью расширения
Кликаем на первую новость:

Проверяем наличие заголовка с помощью «Проверить элемент» в меню расширения и кликаем на логотип yandex в правом верхнем углу, что бы вернуться на главную страницу со списком новостей. Далее сохраняем тест.

Дублируем полученный тест и переименовываем его в «Проверка yandex новостей». Удаляем все шаги и добавляем шаг «Выполнить тест для списка элементов», в списке тестов выбираем наш первый тест, в поле «Элемент» вводим xpath для получения списка новостей «//div[@class=»content-tabs__items content-tabs__items_active_true»]/ol/li»

Testoid переберет каждый элемент и запустит для него тест, xpath элемента будет доступен в переменной ELEMENT_XPATH. Меняем в первом шаге первого теста элемент для клика на переменную.

Готово, yandex новости в безопасности

2017  

Использование возможностей xpath

1.Выбор последнего элемента

//section[@class='main-menu']/a[@class='item strong ng-binding ng-scope'][last()]

2.Выбор элемента содержащего текст

//a[contains(text(), 'Поселок')]

3.Выбор родительского элемента

//a[contains(text(), 'Поселок')]/..

4.Выбор следующего элемента за элементом, содержащего определенный текст

//a[contains(text(), 'Поселок')]/following-sibling::a[1]

5.Выбор первых трех элементов

//section[@class='main-menu']/a[position() <= 3]

6.Выбор последних трех элементов

//section[@class='main-menu']/a[position() > last() - 3]

7.Выбор элемента, в котором больше 3 определенных элементов

//section[@class='main-menu' and count(a) > 3]

8.Выбор нечетных элементов

//section[@class='main-menu']/a[position() mod 2 = 1]

9.Выбор всех элементов не содержащих определенный текст

//section[@class='main-menu']/a[not(contains(text(), 'Поселок'))]

10.Получение атрибута элемента

//a[contains(text(), 'Поселок')]/@href

11.Поиск элемента по атрибуту, полученного из другого элемента

//evolution-feed//a[//section[@class='main-menu']/a[contains(text(), 'Магазин программ')]/@href = @href]

12.Выбор элемента, в котором текст начинается с определенных букв

//section[@class='main-menu']/a[starts-with(text(), 'Биз')]
2017   xpath

Использование переменных при импорте теста

Что бы не записывать авторизацию каждый раз можно записать её один раз и импортировать в тест.

Переходим на страницу https://app.testoid.io/login и начинаем запись теста в расширении

Заполняем форму любыми данными

Нажимаем «Войти», завершаем тест и сохраняем его

Заходим в редактирование шагов и меняем введенные данные на переменные

Создаем новый тест и задаем в нем два шага с установкой email и пароля для тестирования

Третим шагом добавляем выполнение теста авторизации

При выполнении теста авторизация будет проходит с установленными данными, которые можно менять и получать разный результат

Тестирование регистрации

Для тестирования регистрации нужно генерировать email при каждом тесте, эту работу может взять на себя testoid.io

Переходим на https://app.testoid.io/registration и начинаем запись теста с помощью расширения. Вводим почту на домене @testoid.ru (подробнее читайте тут)

Нажимаем «Получить доступ», теперь мы зарегистрированы, Осталось проверить почту.

Переходим на страничку последнего письма введенного email, в моем случае https://app.testoid.io/email/mycompany/latest

Дожидаемся письма и проверяем текст заголовка

При запуске тест провалится, потому что второй раз использовать email при регистрации нельзя. Что бы сделать его динамическим нужно добавить переменную в названии почты и в ссылке на последнее письмо. В качестве переменной можно взять TESTOID_RUN_TEST_ID, эта переменная будет уникальна при каждом запуске

Динамический email

Динамическая ссылка на последнее письмо

При каждом запуске будет использован новый email

2017   Email

Тестирование почты с помощью <username>@testoid.ru

В своих тестах можно использовать почту <username>@testoid.ru и проверять доходят ли письма до клиентов.

<username> — лучше вводить название своей компании или сайта, что бы избежать пересечение ящиков c другими пользователями.

Страница с последним письмом на почте https://app.testoid.io/email/<username>/latest

Страница со всеми письмами на почте: https://app.testoid.io/email/<username>

Пример использования почты при регистрации

2017   Email

Приступаем к работе с Тестоидом

Testoid — это сервис для автоматизированного тестирования и мониторинга веб-сайтов, позволяющий проверять наличие проблем с вашим сайтом или приложением. Все операции он выполняет в браузере, так же, как пользователь.

Бесплатно зарегистрируйтесь для начала работы. Чтобы создать тесты, вы можете установить наше Chrome-расширение или использовать редактор в личном кабинете. Тесты выполняются из нашего облачного сервиса https://nanocloud.io. Вы можете запускать тесты по расписанию, настроить уведомления для получения сообщений об ошибках на вашем веб-сайте. Для опытных разработчиков есть все необходимые инструменты для гибкого управления тестированием.

Посмотрите демонстрационный ролик, чтобы увидеть Тестоид в действии.