2026/4/18 11:27:47
网站建设
项目流程
上海网站建设在哪里,建设一个网站的规划,沈阳seo顾问公司,灌云网站设计内容简介
本文会介绍如何从 0 到 1 构建 Python 项目的集成测试环境#xff0c;文中会详细提及部署过程中会遇到的各种问题。
Pytest 负责 Python 代码测试Allure 负责测试报告 HTML 界面展示Jenkins 负责自动化
部署环境为 MacOS#xff0c;在 Windows 或 Linux 下可以通…内容简介本文会介绍如何从 0 到 1 构建 Python 项目的集成测试环境文中会详细提及部署过程中会遇到的各种问题。Pytest 负责 Python 代码测试Allure 负责测试报告 HTML 界面展示Jenkins 负责自动化部署环境为 MacOS在 Windows 或 Linux 下可以通过类似的方式部署与操作此外也会给出对应的参考链接。正文首先需要安装 JenkinsJenkins 依赖于 JDK所以需要先安装 Java JDK这块不赘述随后安装 Jenkins在 MacOS 中可以通过 HomeBrew 安装。brew install jenkins如果你 brew install 很慢可以参考本文最后的技巧 [1]。当然你可以直接通过 Docker 进行安装jenkins 在 Docker Hub 中提供了官方的源码docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins我使用 brew 安装安装完后使用如下命令运行 jenkins$ jenkins此时 jenkins 将会显式的运行在命令行终端并且创建~/.jenkins目录作为 JENKINS_HOMElocalhost:8080 作为默认 URL。启动时Jenkins 会给出初始的密码该密码会在 JENKINS_HOME 的 secrets/initialAdminPassword 中。登录后Jenkins 会要求你安装一些插件此时出现第一个坑安装插件速度极慢可以参考技巧 [2] 来解决这个问题通过技巧 [2] 修改配置后可以通过技巧 [3] 来重启 JenkinsJenkins 安装有几个关键点。1. 安装前知道自己安装的是什么版本的 Jenkins因为 allure 在 Jenkins 中的插件对 Jenkins 有版本要求2. 知道 JENKINS_HOME 的位置allure 是一种支持多种编程语言的可视化测试报告工具allure 在 jenkins 中的插件让 Jenkins 可以轻松调用 allure有坑而 allure 在 pytest 的插件主要是为了让 pytest 可以生成满足 allure 要求的测试信息文件。通过 allure 插件将 jenkins、pytest、allure 链接在一起pytest 负责测试测试生成的报告可以通过 allure 生成图像化界面而 jenkins 自动化两个过程。在 MacOS 中allure 同样通过通过 Homebrew 安装。brew install allureallure 在 Windows 与 Linux 的安装方式参考https://github.com/allure-framework/allure2allure 安装完后先来安装 allure 关于 pytest 的插件顺带将 pytest 也安装了。pip install pytest5.3.5 pip install allure-pytest2.8.9 pip install allure-python-commons2.8.9安装完后可以先来使用一下。找一个使用 Pytest 的项目直接去 github 拉取 requests 库它的 tests 目录写满了通过 pytest 构建的测试用例。通过 pytest 运行 requests/tests 中的代码并通过 --alluredir 指定生成数据的文件夹这些数据就是 allure 可读取的数据通常为一堆 JSON 文件。pytest requests/tests --alluredir./allure-results获得 JSON 文件数据后可以通过 allure generate 命令来生成 HTML 测试报告界面。allure generate allure-results -o allure-report --clean通过上述命令allure 会将测试报告生成到 allure-report 目录中至此整个流程走通了一半。接着来安装 Allure 在 Jenkins 中的插件。进入 Jenkins 的插件管理界面安装「Allure Jenkins Plugin」此外为了更好的显示 HTML 测试报告继续安装「HTML Publisher Plugin」。「Allure Jenkins Plugin」安装完后还需要进行配置进入「系统设置」-「Global Tool Configuration」。进行如下配置From Maven Central 选择了当前最新版 2.13.1。配置完后将 Jenkins 重启让 Jenkins 加载最新安装的插件。Jenkins 插件安装完后在 Jenkins 中创建 Freestyle projectDescription 描述可以随便填写在 Build 构建处选择 Execute Shell如果你是 windows则选择 Execute Windows batch command。因为我在 MacOS 下执行所以选择 Execute Shell输入如下 Shell 代码#!/bin/bash cd /Users/ayuliao/Desktop/workspace/CICD source venv/bin/activate pytest requests/tests --alluredir ${WORKSPACE}/target/allure-results exit 0cd 进入相应的目录然后通过 source 激活相应的 Python 虚拟环境我只在该虚拟环境中安装了 pytest 库随后正常使用 pytest 则可此时依旧使用 pytest 来跑 requests/tests 中的测试代码但 --alluredir 设置的路径非常有讲究。简单而言 --alluredir 必须为${WORKSPACE}/target/allure-results因为 Jenkins 通过插件调用 allure genera 命令时传入的路径固定为${WORKSPACE}/target/allure-results。${WORKSPACE}是 Jenkins 内置的变量表示「分配给构建作为工作空间的目录的绝对路径。」。如果 --alluredir 为其他值通过 Jenkins 构建项目时会抛出allure-results does not exists你可以在「https://github.com/jenkinsci/allure-plugin/issues/201」看见问题的具体细节。此外还需要配置 Post-build Actions 构建后的动作这里也非常关键。选择「Allure Report」将 Results 与 Report Path 分别配置成target/allure-results与target/allure-report这是固定的不要看其注释说你可以随意配置。上述配置之所以是固定的需要看 Jenkins Job 中的 console outputjenkins 调用 allure generate 命令是固定的。$ /Users/ayuliao/.jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure/bin/allure generate /Users/ayuliao/.jenkins/workspace/allures report/target/allure-results -c -o /Users/ayuliao/.jenkins/workspace/allures report/target/allure-report如果将 Results 与 Report Path 配置成其他值会出现各种问题。至此大功告成。技巧[1] Homebrew 提速下载软件https://mirror.tuna.tsinghua.edu.cn/help/homebrew/ https://shockerli.net/post/homebrew-install-download-error/[2] Jenkins 插件安装提速https://www.cnblogs.com/hellxz/p/jenkins_install_plugins_faster.html[3] 通过 URL 来操作 Jenkinshttps://www.cnblogs.com/dzblog/p/6962810.html最后下方这份完整的软件测试视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。