Автоматическое тестирование для тестировщиков без необходимости кодирования

#selenium #testing #tfs #azure-devops #automated-tests

#selenium #тестирование #tfs #azure-devops #автоматизированные тесты

Вопрос:

Я пытаюсь улучшить процесс тестирования, в котором я работаю, но без корректировки структуры.

Что у нас есть: VSTS, Selenium IDE, тестировщики, которые пишут тестовые примеры, но не код.

Что я хотел бы сделать, так это найти способ объединить нашу непрерывную интеграцию TFS с тестами Selenium, которые мы пишем. Это НЕ тесты selenium, управляемые кодом, а скорее версия IDE, в которой пользователи переходят по ссылке и устанавливают утверждения с помощью IDE (все это просто тесты пользовательского интерфейса). Я знаю, что мы можем экспортировать эти планы тестов в виде файла .SIDE, но чего я не могу понять, так это как заставить наш сервер TFS выполнять их как часть конвейера развертывания или сборки.

В идеале разработчики / devops должны с самого начала настраивать проекты в TFS с любым решением, имеющим смысл для выполнения этих Selenium.ПОБОЧНЫЕ файлы, но впоследствии тестировщики будут управлять добавлением / изменением этих тестов в другом месте.

Реальная цель здесь — не заставлять тестировщиков писать код или проверять код. Только написание этих тестов Selenium пользовательского интерфейса, но выполнение TFS как части CI.

Изучение этого в Интернете в основном всегда приводит меня к чему-то, что требует от тестировщиков написания кода.

Комментарии:

1. если вы можете запускать Java на своем сервере, вы можете рассмотреть мой хобби-проект: browsermator.com

Ответ №1:

Я не думаю, что он может автоматизировать тестирование без кода, по крайней мере, вам нужен тестовый проект, содержащий ваши автоматические тесты.

Как правило, в Azure DevOps мы используем Visual Studio Test task для запуска тестов. Эта задача поддерживает использование следующих тестов:

  • Тестовая сборка: используйте этот параметр, чтобы указать одну или несколько тестовых сборок, содержащих ваши тесты. Вы можете дополнительно указать критерии фильтрации для выбора только определенных тестов.
  • План тестирования: используйте этот параметр для запуска тестов из вашего плана тестирования, с которым связан метод автоматического тестирования. Чтобы узнать больше о том, как связать тесты с рабочим элементом тестового набора, см. раздел Связать автоматические тесты с тестовыми наборами.
  • Тестовый запуск: используйте этот параметр при настройке среды для запуска тестов из планов тестирования. Этот параметр не следует использовать при выполнении тестов в конвейере непрерывной интеграции / непрерывного развертывания (CI / CD).

Ответ №2:

У меня тоже был этот вопрос, и я думаю, что нашел несовершенное, но лучшее решение.

Я не смог запустить свои тесты Selenium IDE с помощью Jenkins, но я смог запустить их с TeamCity, другим CI. Я создал шаг сборки, подобный следующему :

  • Тип бегуна: командная строка
  • Рабочий каталог: где selenium IDE.боковой файл находится
  • Запуск: пользовательский скрипт
  • С содержимым сценария сборки, который я обычно использую для запуска тестов Selenium IDE, таких как selenium-side-runner sidefile.side
  • Я также добавил следующее, чтобы я мог выводить результаты в Junitor в другой форме: --output-directory=results --output-format=junit
  • Вы также можете добавить следующее, чтобы тесты запускались без головы, это работает только в Chrome : -c "goog:chromeOptions.args=[--headless,--nogpu] browserName=chrome"
  • Наконец, я также использую --filter для запуска одного набора тестов за раз, но это тоже необязательно.
  • Затем я использовал еще один шаг сборки для экспорта результатов в наш менеджер по тестированию, xray, но я думаю, что это выходит за рамки этого вопроса.

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