Тестирование web интерфейсов
Практика:
###Где и что лежит? Сервис хранения тестовой документации, живет тут https://testpalm-school.yandex-team.ru/ Логин совпадает с логином на GitHub, пароль можно получить у преподавателей.
###Как создать кейс? Проект располагается в блоке "Test Automation School" и назван так же, как и логин. Кликом левой кнопки мыши в центр названия переходим внутрь проекта. Выбираем в верхнем меню "Test case", переходим на страницу работы с тест кейсами. Добавить кейс можно по кнопке «Add test Case».
###Как создать сьют? На странице работы с тест кейсами нажимаем кнопку «Bulk selection», после этого напротив каждого кейса появляется чекбокс. Отмечаем чекбоксами те кейсы, которые считаем необходимым добавить в ран, и нажимаем кнопку «Create test suite».
###Как создать ран? Со страницы "Home" из блока "Test suites" переходим в нужный сьют. На странице сьюта нажимаем кнопку «Make run».
###Задание: Нужно написать коллекцию тест кейсов, необходимых и достаточных для проверки погодного сервиса. Выбрать кейсы, которые на ваш взгляд необходимо автоматизировать и написать на них тесты. Из коллекции кейсов сформировать два сьюта:
- Сьют для smoke проверки сервиса.
- Сьют для регрересионного тестирования сервиса. Каждый автотест провязать с тем тест кейсом, который к нему относится.
###Идентификаторы тестов и ранов Тест кейс: в адресной строке на странице просмотре тест кейса значение testcase=n , где n это id кейса. Тест ран: в адресной строке на странице просмотра рана testrun/ab12c3, где ab12c3 идетификатор рана.
- Размечаем тестовые методы аннотациями вида
@ru.yandex.qatools.allure.annotations.TestCaseId("NUM")
(со статическим импортом!) для тех автотестов, которые соответствуют тестпалмовским. Указывается только номер. - Добавляем рулу в тестовый класс, указав свой проект (его видно возле каждого кейса перед номером и в адресной строке):
@Rule
public TPInformerRule tms = new TPInformerRule("TESTPRJ");
- Создаем ран в TestPalm (можно выделить несколько кейсов и нажать make run)
- Запускаем тесты указав системные переменные:
# адрес ТМС
tp.api.endpoint=https://testpalm-school.yandex-team.ru/
# Токен можно узнать на странице ${tp.api.endpoint}/api/profile внутри apiToken
tp.api.token=13387534-******-bb32cf6a7914
# Находясь в ране можно посмотреть в адресной строке
tp.api.run=asflj
Системные переменные в java указываются в формате -Dname=value -Dname2=value2 ...,
т.е. будет что-то вроде mvn test -Dtest=ru.qatools.school.ConnectedToTPTest -Dtp.api.endpoint=...
в IDEA это можно указать при запуске теста в Run -> Edit Configurations -> VM Options