jenkins 运行接口自动化测试脚本,安装第三方依赖库的一些总结

之前在做接口自动化时,jenkins 执行 job 安装 requirements.txt 中的第三方依赖库时折腾了许久,网上查的解决方案均未生效,后来找出一条解决方法,做个记录,希望帮助到遇到同样问题的小伙伴。

我们都知道可以通过生成 requirements.txt 导出脚本中依赖的第三库的信息,在 pycharm 的控制台执行 "pip freeze > requirements.txt" 即可生成该文件。

在 jenkins 上执行接口自动化脚本时,在执行 "pytest XXX.py" 这样的脚本前,先安装 requirements.txt 中第三方依赖库,简单的命令是:

当执行 job 时,会默认从 "https://pypi.org/simple/wxpython/Could"找第三方库,但经常会连不上该镜像源。网上查的资料,一般是说换成国内的镜像源,豆瓣,清华、中科大的,并且信任对应的域名,但我试了下,能找到一些第三方库,但是还有一些找不到,报 " not find a version that satisfies the requirement jsonpath==0.82" 类似的 error。

一开始以为网络问题,试了好多次都无法下载安装。

最终,解决方法为,把安装命令改为:

/XXXXX/是你的项目目录。

困扰了好几天的问题,竟然就这么简单的解决了,也不需要指定镜像源。

有时候你可能会报 "package wheel is not installed" 警告,我是通过重新强制安装 pip 解决的:

如果你指定了清华或中科大的镜像源,因为这两地址是 https 的,如果你的 openssl 没配置好,会报 " Can't connect to HTTPS URL because the SSL module is not available" 的错误,解决方法可参考:

python 做 https 请求,报 "Can't connect to HTTPS URL because the SSL module is not available" 错误的解决方法。

在 jenkins 上执行接口自动化脚本时,会报 "Can't connect to HTTPS URL because the SSL module is not available" 的错误。

原因:通常我们的的接口是 https 协议的,python 执行 https 请求时,需要用到 SSL。而 python 不会自动使用系统的 SSL,而是用自己的,所以,我在 jenkins 的服务器上安装了 openssl,依然会报这个错。

查了许多资料,理出了原因,找到了解决方法。

python 有个 Setup 配置文件,在它的 socket module 配置项中默认指定了 SSL 的目录为 "/usr/local/ssl",而实际上我把 openssl 安装在了 /usr/local/openssl-1.0.2r 目录下。 知道原因后,就容易解决了。

一、如果你还没安装 openssl,先做如下操作。

二、修改 python 的 ssl 目录,重新编译安装 python(之前已经安装过 python3 了):

先修改 ssl 目录,进入到 "Python-X.X.X/Modules" (X.X.X 是你安装的 python 版本号),编辑 Setup 文件,找到如下配置:

把注释去掉(去掉前面的 #),修改 ssl 的默认路径:

重新编译安装 python3:

执行成功后,在 jenkins 上再次执行接口自动化 job,终于是蓝色的啦!问题解决!

在安装第三方库,设置镜像源为 https 的时候也会报这个错误,解决方法一样。

如果对你有帮助,点赞收藏关注哦~~

相关推荐
啊阿狸不会拉杆9 分钟前
《计算机网络-自顶向下方法》3.9 小结 · 课后习题 · Wireshark实验
网络·测试工具·wireshark
Chengbei1110 分钟前
SRC报告成稿 Skill(SRC/0day 提交稿、分层验证门、Step 式 PoC、截图铁律)
网络·人工智能·安全·web安全·自动化·系统安全
智购无人售货机厂家25 分钟前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵
bksczm1 小时前
Linux 五种 I/O 模型与多路复用详解
运维·服务器·网络
wjcroom1 小时前
FileBrowser的docker运行了改变密码长度的做法
运维·docker·容器
IT爱学堂1 小时前
新版Linux零基础入门到高手Rocky版本-替换CentOS(完结)
linux·运维·centos
吨吨ai2 小时前
ChatGPT Plus / Pro + Codex 全栈自动化开发实战:2026年9月2日 从智能体工作流到企业级代码交付的完整技术指南
人工智能·chatgpt·自动化
岁月失语唯石能言2 小时前
《 Web项目测试实战:博客系统的功能/接口/自动化/性能全流程测试报告》
自动化测试·功能测试·selenium·jmeter·接口测试·压力测试·性能测试
蒸蒸yyyyzwd2 小时前
cpp选手秋招学习笔记day24-cs144项目总结
运维·服务器·网络
ang7842 小时前
日常高频使用的 Ansible 命令,按使用频率和场景整理。
linux·运维·服务器