Опциональные переменные окружения и паметры для HistoryID
Возникают сценарии, когда нужно загрузить результаты в ранее созданный прогон (launch) в Allure. Однако параметры и переменные окружения, которые находятся в загружаемых allure-results расширены дополнительными значениями.
Сейчас попытка выполнить описанное выше приводит к дублированию результатов и в прогоне будет один сценарий отображаться столько раз, сколько вариаций будет загружено, они не считаются как существующий в прогоне сценарий и не являются его перезапусками (retries).
Пример сценария:
* Пусть:
- имеется тестовый сценарий для проверки функциональности в мобильном приложении
- имеется ферма мобильных устройств с установленным тестовым приложением
- имеется список тестовых пользователей с разными условиями, однако для всех тестовый сценарий должен выполняться
- имеется тестовый план, который содержит тестовый сценарий
* Замечания:
- не имеет значения какое мобильное устройство будет использовано для выполнения тестового сценария, главное чтобы оно было с определённой ОС, далее на ферме автоматически будет выбрано доступное подходящее устройство
- не имеет значения, какой тестовый пользователь будет использоваться в ходе тестирования, т.к. для всех данный сценарий должен выполняться успешно
- имеет значение владеть информацией на каком устройстве и каком тестовом пользователе сценарий был завершён с ошибкой, при возникновении расхождений между фактическим и ожидаемым результатами
* Шаги:
1. запустить тестовый план, указав требуемую ОС (операционную систему) мобильного устройства
2. выполнить автоматизированный тестовый сценарий на указанной ОС
3. по завершению выполнения сценария, автоматически получить информацию об устройстве и тестовом пользователе которые использовались при тестировании, добавить полученную информацию к результатам теста, через переменные окружения или параметры
4. загрузить результат выполнения автоматизированного тестового сценария в прогон Allure TestOps, используя ALLURE_LAUNCH_ID
* Ожидание:
- прогон считает данный сценарий пройденным, т.к. требования указанные при создании, а именно указанная ОС мобильного устройства выполнено
* Фактически:
- прогон считает данный сценарий не пройденным, загруженный сценарий добавлены прогон как новый и имеющий результат
History ID (https://help.qatools.ru/knowledge_base/item/334660?sid=71405)
historyId или historyKey = md5(hash, sort(values(parameters)), sort(environemnt))
Чтобы связывать перезапуски, необходим hash аргументов, переданных в метод + hash значений окружения.