Эта статья была впервые опубликована на:Уокер ИИ
При автоматическом тестировании на питоне мы пишем код, а затем его нужно выполнить, чтобы получить отчет о тестировании, в это время мы можем дополнительно автоматизировать работу через Jenkins. С помощью Jenkins мы можем автоматически извлекать код в сочетании с Git/SVN, автоматически запускать выполнение скрипта, устанавливая временные сборки, получать отчеты о тестировании и, наконец, настраивать отправку электронных писем. Сегодня мы расскажем, как автоматически извлекать код в сочетании с Git и автоматически выполнять скрипты Python для вывода тестовых отчетов путем сборки.
Jenkins — это инструмент непрерывной интеграции с открытым исходным кодом, написанный на Java. Необходимо установить JDK. Если JDK уже установлен, этот шаг можно пропустить.
1. Установите JDK
Перейдите на официальный сайт для загрузки JDK:Woohoo. Oracle.com/Java/techno…
Поместите загруженный zip-файл в Linux
Затем разархивируйте Java в соответствующий каталог:
введите команду:tar -zxvf jdk-11.0.8_linux-x64_bin.tar.gz /home/java
Если будет предложено, что команды tar нет, введитеyum install -y tar
, сначала установите tar
Отредактируйте переменные среды и добавьте переменные среды в файл /etc/profile:
введите команду:vim /etc/profile
Добавьте следующее содержимое в конец файла, затем сохраните:
JAVA_HOME=/home/java/jdk-11.0.8
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export JRE_HOME
export PATH
export CLASSPATH
введите командуsource /etc/profile
, обновите файл конфигурации переменных среды, чтобы изменения вступили в силу немедленно.
На данный момент JDK установлен. входитьjava -version
Проверьте, прошла ли установка успешно, установка прошла успешно, если появится следующий рисунок.
PS: Рекомендуется создать гиперссылку Java. После установки по умолчанию используется Java из пути /usr/bin/java, при установке yum эта ссылка будет создана автоматически.
введите командуln -s /home/java/jdk-11.0.8/bin/java /usr/bin/java
2. Установите Дженкинс
Официальный сайт:www.jenkins.io/download/Выберите соответствующую операционную систему или используйте yum для установки, здесь я использую yum, потому что это удобнее:
По умолчанию в репозиториях yum нет Jenkins, поэтому нам нужно сначала добавить репозиторий Jenkins в репозитории yum.
Щелкните систему [CentOS/Fedora/Red Hat] на официальном веб-сайте, а затем скопируйте и вставьте команду в систему Linux.
После этого вы можете увидеть, что система начинает загружаться и устанавливаться автоматически. При появлении запроса на загрузку введите: y и нажмите Enter. Терпеливо дождитесь завершения установки.
Запустите Дженкинс командой:service jenkins start
, и ok указывает на то, что Jenkins успешно запущен.
Введите ip:8080 в браузере, чтобы войти на страницу входа в Jenkins, и введите пароль. На этом установка Jenkins завершена.
3. Конфигурация задания
Создайте новый проект для фристайла
Перейдите на страницу конфигурации проекта и в разделе «Управление исходным кодом» выберите Git:
Если Git отсутствует в системе управления версиями, у вас не установлен подключаемый модуль Git. Нажмите [Управление Jenkins], выберите [Управление плагинами], выберите [Дополнительные плагины] и введите в [Поиск]git plugin
, скачать плагин.
Установка прошла успешно, как показано на рисунке, а затем перезапустите [Jenkins]:
Создайте оболочку выполнения и введите команду pytest в соответствии с вашим собственным скриптом. То есть после того, как Дженкинс загрузит код хранилища Git, как мы выполним скрипт через команду? Это можно заполнить в соответствии с ситуацией выполнения скрипта самостоятельно. Это то же самое, что и наше ручное выполнение скрипта , а затем нажмите Сохранить.
Нажмите [Build Now], вы увидите, как выполняется задание сборки.
4. Отчет об испытаниях
Когда вариант использования выполняется, мы хотим увидеть выполнение варианта использования, и pytest не только поддерживает плагин pytest-html, но также может использовать привлекательность для создания более красивых отчетов о тестировании. Платформа Allure — это гибкий и легкий многоязычный инструмент для составления отчетов о тестировании, который не только представляет краткие результаты тестирования в веб-формате, но и позволяет всем, кто участвует в процессе разработки, максимально извлекать полезную информацию из ежедневно выполняемых тестов. Итак, мы выбираем здесь фреймворк Allure.
С точки зрения разработки/контроля качества отчеты Allure упрощают статистику распространенных дефектов: неудачные тесты можно разделить на ошибки и прерванные тесты, а также можно настраивать журналы, шаги, фикстуры, вложения, тайминги, историю выполнения и связь с TMS и Интеграция системы управления BUG, поэтому с помощью вышеуказанной конфигурации все ответственные разработчики и тестировщики могут максимально освоить тестовую информацию.
С точки зрения менеджера, Allure предоставляет четкую «общую картину» того, какие функции были рассмотрены, где сгруппированы ошибки, как будет выглядеть график выполнения и многое другое. Модульность и расширяемость allure гарантирует, что вы всегда сможете что-то тонко настроить, чтобы сделать Allure более подходящим для вас, поэтому сегодня мы поговорим о том, как сделать отчет более подробным, чтобы показать нужную нам информацию, и об интеграции allure и jenkins.
4.1 Загрузите плагин Allure и настройте Allure
Нажмите [Управление Jenkins], выберите [Управление плагинами], выберите [Дополнительные плагины] и введите в [Поиск]Allure
, скачать плагин. После успешной загрузки перезапустите Jenkins.
Войдите в глобальную конфигурацию инструмента [Global Tool Configuration], потяните вниз последний элемент, вы увидите элемент [Командная строка Allure], настройте его, как показано ниже, и сохраните его:
Введите конфигурацию, нажмите [Действия после сборки], выберитеAllure Report
Результаты: введите путь к пути. Путь к пути здесь указывает, что эта папка создается в корневом каталоге проекта. Папка используется для сохранения файлов json, xml, txt и других типов, от которых зависит перед созданием отчета в формате html.
Путь к отчету: введите путь для сохранения отчета в формате html.
Нажмите [Build Now], и вы увидите сгенерированный отчет Allure после завершения выполнения.
4.2 Отображение отчета Allure
5. Отправить письмо
Jenkins по умолчанию отправляет уведомление по электронной почте.E-mail Notification
, но функция имеет много ограничений и недостаточно гибка. Например, формат сообщения электронной почты не может быть определен, а уведомление по электронной почте не может предоставить подробное содержимое электронной почты. Здесь мы используемEmail Extension Plugin
плагин. Этот подключаемый модуль позволяет настраивать конкретное содержимое и формат отправляемого электронного письма.
5.1 Загрузите плагин электронной почты и настройте электронную почту
Нажмите [Управление Jenkins], выберите [Управление плагинами], выберите [Дополнительные плагины] и введите в [Поиск]Email Extension Plugin
, скачать плагин. После успешной загрузки перезапустите Jenkins.
Войдите в системные настройки [Конфигурация системы], найдите [Расположение Jenkins], установите URL-адрес Jenkins и адрес электронной почты отправителя.
Найдите «Расширенное уведомление по электронной почте» и установите следующее:
Подробное введение параметра:
Override Global Settings:如果不选,该插件将使用默认的E-mail Notification通知选项。反之,可以通过指定不同于的设置来进行覆盖。
Default Content Type:指定构建后发送邮件内容的类型,有Text和HTML两种。
Use List-ID Email Header:为所有的邮件设置一个List-ID的邮件信头。
Add 'Precedence: bulk' Email Header:设置优先级。
Default Recipients:自定义默认电子邮件收件人列表。
Reply To List:回复列表。
Emergency reroute:如果这个字段不为空,所有的电子邮件将被单独发送到该地址(或地址列表)。
Excluded Committers:防止邮件被邮件系统认为是垃圾邮件,邮件列表应该没有扩展的账户名(如:@domain.com),并且使用逗号分隔。
Default Subject:自定义邮件通知的默认主题名称。该选项能在邮件的主题字段中替换一些参数,这样就可以在构建中包含指定的输出信息。
Maximum Attachment Size:邮件最大附件大小。
Default Content:自定义邮件通知的默认内容主体。该选项能在邮件的内容中替换一些参数,这样就可以在构建中包含指定的输出信息。
Default Pre-send Script:默认发送前执行的脚本。
Enable Debug Mode:启用插件的调试模式。
nable Security:启用时,会禁用发送脚本的能力,直接进入Jenkins实例。如果用户试图访问Jenkins管理对象实例,将抛出一个安全异常。
Content Token Reference:邮件中可以使用的变量,所有的变量都是可选的。
Войдите в конфигурацию, нажмите [Действия после сборки], найдите [Расширенное уведомление по электронной почте] и установите следующее:
Описание параметра триггера
Failure:即时发送构建失败的邮件。如果”Still Failing”触发器已配置,而上一次构建的状态是”Failure”,那么”Still Failing”触发器将发送一封邮件来替代(它)。
Unstable:即时发送构建不稳固的邮件。如果”Still Unstable”触发器已配置,而上一次构建的状态是”Unstable”,那么”Still Unstable”触发器将发送一封邮件来替代(它)。
Still Failing:如果两次或两次以上连续构建的状态为”Failure”,发送该邮件。
Success:如果构建的状态为”Successful”发送邮件。如果”Fixed”已配置,而上次构建的状态为“Failure”或“Unstable”,那么”Fixed”触发器将发送一封邮件来替代(它)。
Fixed:当构建状态从“Failure”或“Unstable”变为”Successful”时发送邮件。
Still Unstable:如果两次或两次以上连续构建的状态为” Unstable “,发送该邮件。
Before Build:当构建开始时发送邮件。
Нажмите [Build Now] после завершения выполнения. Если выполнение выполнено успешно, электронное письмо не будет отправлено получателю; если выполнение завершится неудачно, получателю будет отправлено электронное письмо, а содержимое электронного письма будет настроено в соответствии с вашей собственной ситуацией.
5.2 Отображение электронной почты
6. Резюме
В этой статье в основном описывается автоматическое получение кода через Git, а затем Jenkins создает и автоматически выполняет скрипт Python для вывода отчета о тестировании.Если выполнение не удается, отчет о тестировании автоматически отправляется получателю по электронной почте. На более позднем этапе есть еще много мест для оптимизации, и я надеюсь обсудить их с вами.
PS: Для получения дополнительной технической галантереи, пожалуйста, обратите внимание на [Публичный аккаунт | xingzhe_ai] и обсудите с ходоками!