如何在jenkins容器中安装python+httprunner+pytest+git+allure(一)

背景:

API接口自动化使用python语言实现,利用httprunner框架编写自动化用例场景(执行的时候还是依赖pytest),使用jenkins自动构建git上的源代码,并产生allure报告可视化展示API执行结果。

步骤

1.进入jenkins容器

注意使用root身份进入容器

docker exec -it -uroot jenkins bash

2、具体安装步骤

复制代码
## 见上篇

 https://blog.csdn.net/dghrty_show/article/details/134445662?spm=1001.2014.3001.5502

3、验证python安装是否成功

4、安装过程中遇到的问题

bash 复制代码
##编译python执行make时,遇到如下报错导致未编译成功,报错这个会导致pip3无法使用,所以必须要解决这个
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [Makefile:1102: install] Error 1
#问题原因
当前路径下缺少zlib相关依赖包
#解决办法
     cd ~
     apt-get install zlib
 # #一定要回到python的安装路径下,/opt/py3.6次编译
     cd /opt/py3.6/
      make
      make install
bash 复制代码
##问题:执行shell脚本时,使用pytest -s -q testcases/ --alluredir=reports/ --clean-alluredir时进行jenkins构建一直报错
/tmp/jenkins138024061767095240.sh: line 3: pytest: command not found
##解决办法:
python3 -m pytest -s -q testcases/ --alluredir=reports/ --clean-alluredir
##原因:
1执行shell脚本的时候报找不到pytest命令,但是自己的库里其实已经通过pip安装了pytest,执行pip list也是可以查询到pytest的版本信息
2本来想通过设置环境变量解决,但是最终失败(如下设置)
cat  ~/.bash_profile
验证是否添加成功echo $PATH
3最终原因是:我自己通过pip去安装的pytest 并不会使其成为系统命令,所以需要通过:python -m  pytest 命令执行,使其成为系统命令
bash 复制代码
问题:在jenkins容器内安装了pytest但是就找不到pytest在哪里?
1使用whereis/which pytest无法找到
2使用 pip3 show pytest
root@localhost:/# pip3 show pytest
Name: pytest
Version: 5.4.3
Summary: pytest: simple powerful testing with Python
Home-page: https://docs.pytest.org/en/latest/
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
Author-email: 
License: MIT license
Location: /usr/local/src/py3.6/lib/python3.6/site-packages
Requires: attrs, importlib-metadata, more-itertools, packaging, pluggy, py, wcwidth
Required-by: allure-pytest, httprunner, pytest-html, pytest-metadata

其实在jenkins中安装python后,安装的各种插件都是在py3.6/lib/python3.6/site-packages下的

相关推荐
前端若水1 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
涛声依旧-底层原理研究所2 小时前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
csdn_aspnet2 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
fantasy_arch2 小时前
pytorch人脸匹配模型
人工智能·pytorch·python
熊猫_豆豆2 小时前
广义相对论水星近日点进动完整详细数学推导
python·天体·广义相对论
web3.08889992 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python
AI算法沐枫3 小时前
深度学习python代码处理科研测序数据
数据结构·人工智能·python·深度学习·决策树·机器学习·线性回归
X1A0RAN4 小时前
解决Pycharm中部分文件或文件夹被隐藏不展示问题
ide·python·pycharm
MomentYY4 小时前
第 3 篇:让 Agent 学会分工,LangGraph 构建多 Agent系统
人工智能·python·agent
程序员Jelena4 小时前
Python 代码是什么?—— 从字节到执行的完整解析
python