使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 53--CI/CD 6--配置Jenkins构建新项目-定时自动执行测试代码

使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 53--CI/CD 6--配置Jenkins构建新项目-定时自动执行测试代码

测试学习记录,仅供参考!

配置Jenkins构建新项目-定时自动执行测试代码

1、启动服务,打开登录 Jenkins,找到新建项目,开始配置测试项目;

配置项目

2、项目描述(选填项);

源码管理

3、源码管理,Jenkins 在执行时通过读取 Git 上的代码

        1)、选中 Git 选项;

        2)、URL:Git 上面项目里面的地址

4、添加 Git 用户名和密码

5、输入用户名、密码,其他自定义,单击“添加”按钮;

6、添加 Git 用户名密码成功后选中它;其他保持默认即可;

构建触发器

7、构建触发器选择定时构建→设置定时时间(自行设置);

8、定时构建语法(五颗星):* * * * *

        第一个 * 表示分钟,取值0~59;

        第二个 * 表示小时,取值0~23;

        第三个 * 表示一个月的第几天,取值1~31;

        第四个 * 表示第几月,取值1~12;

        第五个 * 表示一周中的第几天,取值0~7,其中0和7代表的都是周日;

常用定时构建举例:

由于项目的代码一般存在放SVN中,而一个SVN往往是有多个项目组在提交代码,而每个项目组又有多人组成,其中每个人也都在对自己的那块代码不停地在进行维护,所以说对于一个公司而言,SVN的提交记录往往是很频繁的,正因为如此,Jenkins 在执行自动化构建时往往是以天为单位来执行的;

下面举的例子就是在一天中常用的定时构建示例:

        每隔5分钟构建一次 H/5 * * * *

        每两小时构建一次 H H/2 * * *

        每天中午下班前定时构建一次 0 12 * * *

        每天下午下班前定时构建一次 0 18 * * *

构建环境

9、构建环境(若无此选项烦请自行去安装对应插件) → 勾选“Delete workspace before build starts”(构建前清空工作区) 和“Add timestamps to the Console Output”(把结果输出到控制台中);

构建步骤

10、在本地部署,选第一个选项“Execute Windows batch command”;

11、通过 python 去执行远程仓库目录下的 run.py 文件(要根据实际分支情况来填写,注意路径);

        用 Python 去执行主函数;

因为之前有生成 requirements.txt 安装依赖文件--所以这里直接安装导入 pip install -r requirements.txt 若没有生成安装依赖库 requirements.txt 可使用 pip install 命令一个一个安装相应的模块 pip install pytest==7.1.3 ...... python run.py
#!/bin/bash python3 -v pip3 -v pip3 install -r requirements.txt python3 run.py

构建后操作

12、构建后操作一般是输出测试报告,选中“Allure Report”选项(若无此选项烦请安装对应插件);

13、Allure Report 选项信息(自行查看);

14、Path 测试报告地址默认“allure-results”,更改为实际测试报告存放文件路径“report/temp”;

        若配置错误执行构建完成后”测试报告是没有数据的“;

15、鼠标单击“Global Tool Configuration“去配置;点击”新增 Allure Commandline“按钮;

16、输入 Allure Commandline 别名;

17、自定义别名即可(自行设置);单击”保存“按钮;

18、再次回到”构建后操作“能够发现”Allure Report“没有报错警告信息,点击”保存“按钮;

19、自行选择是否添加“E-mail Notification(发送邮件通知)”和“Publish JUnit test result report(统计测试结果)”(烦请自行设置--其中邮箱设置需要到全局配置中自定义邮件模板);

20、Web UI 自动化测试项目配置完成;

开始构建

21、配置完成之后开始启动 Jenkins 构建项目,选中”BuildNow“;

22、若构建失败 → 控制台输出信息 出现问题烦请自行参考解决;

Started by user admin Running as SYSTEM Building in workspace C:\Users\Administrator\.jenkins\workspace\Web UI 自动化测试 [WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] Done The recommended git tool is: NONE 。。。 Cloning the remote Git repository 。。。 > git.exe init C:\Users\Administrator\.jenkins\workspace\Web UI 自动化测试 # timeout=10 。。 > git.exe --version # timeout=10 > git --version # 'git version 2.43.0.windows.1' 。 。 。 Avoid second fetch 。 。 。 Commit message: "PyCharm再次提交修改" 出现这样的信息,则说明Git连接没有问题,可继续往下排查问题 First time build. Skipping changelog. [Web UI 自动化测试] $ cmd /c call E:\Users\apache-tomcat-9.0.98\temp\jenkins9483282840520566421.bat . . . The recommended git tool is: NONE using credential 3d74ddcc-887a-4063-b44a-38f6551fce12 Cloning the remote Git repository Cloning repository https://gitee.com/tianqi-test/webuitest > git.exe init C:\Users\Administrator\.jenkins\workspace\Web UI 自动化测试 # timeout=10 Fetching upstream changes from https://gitee.com/tianqi-test/webuitest > git.exe --version # timeout=10 > git --version # 'git version 2.43.0.windows.1' using GIT_ASKPASS to set credentials giteew > git.exe fetch --tags --force --progress -- https://gitee.com/tianqi-test/webuitest +refs/heads/*:refs/remotes/origin/* # timeout=10 ERROR: Error cloning remote repo 'origin' 类似此种报错信息,表示远程仓库连接有误 . . . C:\Users\Administrator\.jenkins\workspace\Web UI 自动化测试>python run.py Traceback (most recent call last): File "run.py", line 1, in <module> import pytest ModuleNotFoundError: No module named 'pytest' Jenkins中的python环境找不到模块错误:没有名为“pytest”的模块 → 解决方法:需要在构建步骤时安装模块 C:\Users\Administrator\.jenkins\workspace\Web UI 自动化测试>exit 1 Build step 'Execute Windows batch command' marked build as failure 生成步骤“执行Windows批处理命令”将生成标记为失败 。 。 。 Allure report was successfully generated. Creating artifact for the build. Artifact was added to the build. Finished: FAILURE 最终构建结果:失败

。 。 。 C:\Users\Administrator\.jenkins\workspace\Web UI 自动化测试>pip3 install -r requirements.txt Collecting openpyxl==3.1.2 Using cached openpyxl-3.1.2-py2.py3-none-any.whl (249 kB) Collecting PyMySQL==1.1.0 Using cached PyMySQL-1.1.0-py3-none-any.whl (44 kB) Collecting pytesseract==0.3.13 Using cached pytesseract-0.3.13-py3-none-any.whl (14 kB) Collecting pytest==7.1.3 Using cached pytest-7.1.3-py3-none-any.whl (298 kB) Collecting PyYAML==6.0 Using cached PyYAML-6.0-cp38-cp38-win_amd64.whl (155 kB) Collecting requests==2.28.1 Using cached requests-2.28.1-py3-none-any.whl (62 kB) Collecting selenium==4.21.0 Using cached selenium-4.21.0-py3-none-any.whl (9.5 MB) Collecting pytest-xdist==3.6.1 Using cached pytest_xdist-3.6.1-py3-none-any.whl (46 kB) Collecting allure-pytest==2.12.0 Using cached allure_pytest-2.12.0-py3-none-any.whl (10.0 kB) Collecting allure_python_commons==2.12.0 Using cached allure_python_commons-2.12.0-py3-none-any.whl (16 kB) Collecting colorlog==6.9.0 Using cached colorlog-6.9.0-py3-none-any.whl (11 kB) Collecting numpy==1.24.4 Using cached numpy-1.24.4-cp38-cp38-win_amd64.whl (14.9 MB) Collecting pyxnat==1.6.2 Using cached pyxnat-1.6.2-py3-none-any.whl (95 kB) Collecting Pillow==9.3.0 Using cached Pillow-9.3.0-cp38-cp38-win_amd64.whl (2.5 MB) Collecting et-xmlfile Using cached et_xmlfile-2.0.0-py3-none-any.whl (18 kB) Collecting packaging>=21.3 Using cached packaging-25.0-py3-none-any.whl (66 kB) Collecting tomli>=1.0.0 Using cached tomli-2.2.1-py3-none-any.whl (14 kB) Collecting attrs>=19.2.0 Using cached attrs-25.3.0-py3-none-any.whl (63 kB) Collecting pluggy<2.0,>=0.12 Using cached pluggy-1.5.0-py3-none-any.whl (20 kB) Collecting iniconfig Using cached iniconfig-2.1.0-py3-none-any.whl (6.0 kB) Collecting py>=1.8.2 Using cached py-1.11.0-py2.py3-none-any.whl (98 kB) Collecting colorama Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB) Collecting certifi>=2017.4.17 Downloading certifi-2025.8.3-py3-none-any.whl (161 kB) Collecting idna<4,>=2.5 Using cached idna-3.10-py3-none-any.whl (70 kB) Collecting charset-normalizer<3,>=2 Using cached charset_normalizer-2.1.1-py3-none-any.whl (39 kB) Collecting urllib3<1.27,>=1.21.1 Using cached urllib3-1.26.20-py2.py3-none-any.whl (144 kB) Collecting urllib3[socks]<3,>=1.26 Using cached urllib3-2.2.3-py3-none-any.whl (126 kB) Collecting typing_extensions>=4.9.0 Downloading typing_extensions-4.13.2-py3-none-any.whl (45 kB) Collecting trio-websocket~=0.9 Using cached trio_websocket-0.12.2-py3-none-any.whl (21 kB) Collecting trio~=0.17 Using cached trio-0.27.0-py3-none-any.whl (481 kB) Collecting execnet>=2.1 Using cached execnet-2.1.1-py3-none-any.whl (40 kB) Collecting six>=1.9.0 Using cached six-1.17.0-py2.py3-none-any.whl (11 kB) Collecting lxml>=4.3 Downloading lxml-6.0.1-cp38-cp38-win_amd64.whl (4.0 MB) 。 。 。 Finished: SUCCESS

23、若无问题则会构建成功;

总结

第一步:配置源码管理 → Git

第二步:构建触发器 → 自行设置是否定时构建

第三步:构建环境 → 勾选

第四步:构建步骤 → 自行根据实际场景选择

第五步:构建后操作 → 一般添加 Allure 报告,其他自行设置

Read more

NIC400生成Flow全解析(八)Micro Architechture

当所有配置完成后,就可以生成Micro Architechture了。在Micro Architechture中也会进行一系列配置。比如微架构、timing closure、buffering等配置。 生成Micro Architechture的方法如下: 生成时需要解决掉所有报错问题后,即可打开Micro Architechture。打开方式如下: 大致界面如下: 其中主要包含了如下元素: * Micro Architechture窗口 * Parameter/Timing Closure/Buffering窗口 * Overlays窗口 1.Micro Architechture窗口 该窗口主要是设定需要的互联微架构,AMBA Designer生成NIC-400时需要手动定义,Socrates生成NIC-400时会根据工具内部算法生成一个微架构。生成后也可以根据自己的需求进行调整。图中的各种标志如下所示: Micro Architechture的左边有一排按键,11个按键的含义从上到下依次为: * Zoom in:视图放大 * Zoom o

【论文阅读】Self-supervised Learning of Person-specific Facial Dynamics for APR

【论文阅读】Self-supervised Learning of Person-specific Facial Dynamics for APR

基于特定人物面部动态的自监督学习自动人格识别 * 摘要 * 引言INTRODUCTION * 相关工作 * 五因素模型 * 人格、面部行为与情绪之间的关系 * 基于视频的自动人格预测 * 方法 * 面部动态的自监督学习 * 人格化描述提取 * 训练人格模型 * 实验 * 人格数据库 * 实现细节 * 评价指标 * 消融实验 * 与其他方法的比较 * 结论 论文 关键词:自动人格分析(APR),排序损失,面部时间演变,人格化动态层,自监督学习,卷积神经网络,CNN权重表示 本文主要创新点在于:自监督学习、关注个性化特征 摘要 本文旨在解决现有自动人格分析系统中频繁出现的两个重要问题:1. 使用短视频片段甚至单帧,而非长期行为来推断人格特质;2. 缺乏对特定个体面部动态进行编码以用于人格识别的方法。为解决这些问题,本文提出了一种新颖的排序损失(Rank Loss)利用面部动作的自然时间演变,而非人格标签,来进行面部动态的自监督学习。我们首先训练一个通用的U-net风格模型从一组未标记的面部视频中学

801-203_各无人机厂家对RemoteID支持情况汇总

1. 大疆DJI 参考链接:大疆无人机RemoteID支持情况 DJI航拍无人机的RID广播信息包含以下信息: 1. ID等身份认证 2. 无人机的纬度、经度、几何高度和速度 3. 控制站的纬度、经度和几何高度的指示 4. 时间信息、紧急状态信息 支持RID的航拍无人机型号 大疆无人机支持RID型号列表 序号无人机机型支持情况备注1DJI Mavic 4 Pro支持2DJI Flip支持3DJI Air 3S支持4DJI Neo支持WIFI直连模式下和脱控模式下不支持5DJI Mini 4K支持V01.07.0400 及以后6DJI Avata 2V01.00.0300 及以后7DJI Mini 4 Pro支持V01.00.0400 及以后8DJI Air 3支持V01.00.1200 及以后9DJI Mini 3支持V01.

Enterprise Architect 16 下载、安装与无限30天操作

Enterprise Architect 16 下载、安装与无限30天操作

文章目录 * Enterprise Architect 16 简介 * (一)支持多种建模语言和标准 * (二)强大的版本控制、协作和文档管理功能 * (三)增强的技术和用户体验 * (四)高级功能和扩展性 * 一,下载软件 * (一)官网 * (二)阿里云盘 * (三)百度网盘 * (四)迅雷 * 二,安装软件 * 三,无限30天设置 * (一)删除`fkey.dat`文件 * (二)删除注册表Kane文件夹 * (三)查看效果 Enterprise Architect 16 简介 Enterprise Architect 16是一款功能强大的企业级建模工具,它为企业和机构在系统设计、业务流程建模、数据建模以及软件开发等方面提供了全面的支持。以下是对Enterprise Architect 16的详细介绍: