基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure)

这篇具有很好参考价值的文章主要介绍了基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pytest搭建自动化测试环境(docker+pytest+jenkins+allure)

这里我以ubuntu18为例

  • 如果有docker环境,可以直接拉取我打包好的镜像
  • docker pull ziyigun/jenkins:v1.0

1 搭建Docker

1.1 安装docker

# 配置docker安装环境
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 添加阿里的GPG秘钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 添加阿里镜像源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# 更新apt
sudo apt-get update

# 查询docker有哪些版本 第二列是版本号,第三列是存储库的名称。
apt-cache madison docker-ce

# 安装最新版本
sudo apt-get install -y docker-ce
 
#或者安装指定版本(根据操作系统版本来安装对应docker版本)
# sudo apt-get install -y docker-ce=5:19.03.1~3-0~ubuntu-cosmic

# 查看docker版本
sudo docker version

1.2 配置镜像加速

sudo vi /etc/docker/daemon.json
# 保存如下内容
{
  "registry-mirrors": [
    "https://ooq07srv.mirror.aliyuncs.com""https://registry.cn-hangzhou.aliyuncs.com",
    "http://hub-mirror.c.163.com", 
    "https://docker.mirrors.ustc.edu.cn", 
    "https://registry.docker-cn.com" 
  ] 
}

# 重启docker验证是否成功
sudo service docker restart
#或者
sudo systemctl restart docker
bug1:ExecStart=/usr/bin/dockerd -H fd://
  • 如果发现docker启动或者重启报错:
    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)

解决办法:
方法一:

cp /etc/docker/daemon.json /etc/docker/daemon.conf
sudo systemctl restart docker

方法二:

sudo edit /usr/lib/systemd/system/docker.service
# 原来的内容
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
# 改为如下的内容
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /usr/local/docker

# 重启docker
systemctl daemon-reload
systemctl restart docker
bug2:mediaType in manifest should be …
  • 如果发现报错:
    mediaType in manifest should be ‘application/vnd.docker.distribution.manifest.v2+json’ not ‘application/vnd.oci.image.manifest.v1+json’

解决办法:

方法一:

# 升级Docker版本: 您可以尝试升级Docker到支持OCI格式的版本
sudo apt-get purge docker-ce docker-ce-cli containerd.io
# 安装最新的docker版本
sudo apt-get install -y docker-ce

方法二:

# Docker Registry API v2
docker pull --disable-content-trust jenkins/jenkins

1.3 卸载docker

如果使用完成之后想要卸载docker

# 卸载docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io

2 搭建Jenkins

2.1 拉取并运行Jenkins镜像

# 拉取最新稳定版的jenkins
docker pull jenkins/jenkins:lts

# 创建目录,挂载jenkins信息
mkdir -p /var/jenkins_node

# 设置目录权限
chmod -R 777 /var/jenkins_node

# 创建jenkins容器
docker run -d -uroot -p 80:8080 --name jenkins -v /var/jenkins_node:/var/jenkins_home jenkins/jenkins:lts
#说明:-d: 指定容器运行于前台还是后台,默认为false
#-u: 指定容器的用户-p: 指定容器暴露的端口,主机的80端口映射容器的8080端口
#--name: 容器名称-v: 给容器挂载存储卷,挂载到容器的某个目录

# 查看容器运行状态
docker ps | grep jenkins

# 进入jenkins容器内部
docker exec -it -uroot jenkins bash

2.2 浏览器访问Jenkins并配置

在浏览器中输入宿主机ip,即可访问到jenkins页面,如:10.16.53.10

# 查看jenkins默认密码(在容器外部执行命令)
docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword

然后根据自己的需求来选择是否需要安装Jenkins需要的插件(我这里选择接受推荐的插件):
基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

完成之后,创建一个用户,设置用户名密码、邮箱等

  • 修改时区
    基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

3 配置Python

在jenkins容器中,执行如下命令:

3.1 更新apt软件包

# 获取最新的软件包
apt-get update
#升级已安装的软件包
apt-get upgrade  
#提前安装,以便接下来的配置操作
apt-get -y install gcc automake autoconf libtool make
apt-get -y install make* 
apt-get -y install zlib*
apt-get -y install openssl libssl-dev
apt-get install sudo

3.2 下载python3源码

cd /usr/local/src
# 安装wget命令
apt-get install wget
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar -zxvf Python-3.6.8.tgz 
mv Python-3.6.8 py3.6
cd py3.6

3.3 编译并配置环境变量

# 在/usr/local/src/py3.6目录执行以下命令
./configure --prefix=/var/jenkins_home/python3 --with-ssl
make
make install

#添加python3软链接
 
ln -s /var/jenkins_home/python3/bin/python3 /usr/bin/python3

# rm -f /usr/bin/python3即可删除软链接
 
#添加pip3软链接
# 将/var/jenkins_home/python3/bin/pip3链接到/usr/bin/pip3
ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3

# 查看安装结果
# 输入python3,查看是否有对应信息输出
python3
# 输入exit()即可退出python的交互页面

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

3.4 安装项目所需python包依赖

# 在python根目录下生成requirements.txt(指定python项目所依赖的包)
pip3 freeze > requirements.txt  
# 将requirements.txt上传到主机
docker cp requirements.txt jenkins:/usr/local/src
# 安装所需的依赖到jenkins中
pip3 install -r requirements.txt  

4 安装allure依赖:输出测试报告

# 退出jenkins容器,执行下面命令
# 官网地址:https://github.com/allure-framework/allure2/releases  建议选择最新版本下载
# 下载成功之后上传到服务器 或者直接通过wget命令下载也可以
wget https://github.com/allure-framework/allure2/releases/download/2.23.1/allure-2.23.1.zip
docker cp allure-2.23.1.zip jenkins:/usr/local/src

# 重新进入jenkins容器中执行下面命令
docker exec -itu root jenkins bash

# 解压
unzip allure-2.23.1.zip

mv allure-2.23.1 allure

# /var/jenkins_home/python3/bin/python3.6 
#配置python和allure环境
cat >> /root/.bashrc << "EOF"
export PATH=/usr/local/src/allure/bin:$PATH
export PATH=/usr/local/src/py3.6/bin:$PATH
EOF

# 更新环境变量配置
source /root/.bashrc

# 验证环境变量
allure --version  

5 安装Java环境:allure需要有java环境

运行allure需要java环境

cd /usr/local
wget https://download.java.net/openjdk/jdk8u43/ri/openjdk-8u43-linux-x64.tar.gz

tar -xzf openjdk-8u43-linux-x64.tar.gz -C /usr/local/src/
cd /usr/local/src
mv java-se-8u43-ri java8

# 配置Java环境变量
echo "export JAVA_HOME=/usr/local/src/java8" >> /root/.bashrc
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /root/.bashrc

source /root/.bashrc
# 验证Java安装
java -version

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

6 安装pytest

pip3 install pytest
ln -s /var/jenkins_home/python3/bin/pytest /usr/bin/pytest
export PATH=/usr/local/src/pytest/bin:$PATH
source /root/.bashrc
# 输入pytest查看是否安装成功

7 配置jenkins中的插件和git地址

7.1安装allure插件

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

7.2 设置本地jenkins容器中allure的可执行文件地址

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

7.3 新建jenkins项目(项目风格可以选择自由风格)

①Item- 新建- 选择Freestyle project - 填写项目名称
基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

②填写项目描述信息,并配置源码管理(配置git仓库地址和凭证)
基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

编写好自动化测试脚本(python代码)后,上传到git仓库中

  • 例如:https://gitee.com/Zifasdfa/pytest.git

③配置构建步骤
基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战④添加构建的步骤(生成allure报告)
基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

在allure report模块下,点击高级

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战
点击应用,然后点击保存

⑤构建任务,点击立即构建
基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战
⑥构建结果
基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

点击allure report,跳转用例输出界面,查看具体测试结果信息

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure),demo,docker,pytest,jenkins,自动化测试,运维,实战

根据需求,可以将本地已经部署好的jenkins容器打包本地镜像上传到dockerhub文章来源地址https://www.toymoban.com/news/detail-655840.html

docker tag jenkins/jenkins:lts ziyigun/jenkins:v1.0
docker login
# 输入用户名和密码
# 推送到dockerhub仓库
docker push ziyigun/jenkins:v1.0

到了这里,关于基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • (Python)Requests+Pytest+Allure接口自动化测试框架从0到1搭建

    (Python)Requests+Pytest+Allure接口自动化测试框架从0到1搭建

    前面,已经学习了如何用SpringBoot写接口以及与Mysql数据库进行交互,具体可查阅下面的这篇博客,今天学习一下基于Python的接口自动化测试框架的搭建,主要包括以下内容:利用request库发送请求,请求数据参数化处理,还涉及到数据库(Mysql+MongDB)方面的交互,包括如何取数

    2024年02月13日
    浏览(292)
  • 基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程

    基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程

    学习官网:Jenkins官网,Jenkins中文官网; Jenkins 是一款开源 CICD 软件,用于自动化各种任务,包括构建、测试和部署软件; 用 Java 语言编写的,可在 Tomcat 、 Docker 等流行的容器中运行,也可独立运行。 通俗的讲,比如把编译、打包、上传、部署到Tomcat中的过程交由Jenkins,

    2024年02月13日
    浏览(9)
  • 基于Python+Pytest+Playwright+BDD的UI自动化测试框架

    本框架是基于Python+Pytest+Playwright+BDD的UI自动化测试框架。 测试社区地址: https://www.gitlink.org.cn/zone/tester 入群二维码:https://www.gitlink.org.cn/floraachy/apiautotest/issues/1 对于框架任何问题,欢迎联系我! 支持通过命令行指定浏览器,选择需要运行的浏览器。 支持通过命令行指定运行

    2024年02月07日
    浏览(16)
  • selenium 自动化测试:如何搭建自动化测试环境,搭建环境过程应该注意的问题

    selenium 自动化测试:如何搭建自动化测试环境,搭建环境过程应该注意的问题

    最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,但是对于没有学过的人来说,通过资料再到自己写的代码,发现有些东西没有,有些方法又不相同,导致脚本不能运行

    2024年02月10日
    浏览(10)
  • selenium 自动化测试—如何搭建自动化测试环境?

    selenium 自动化测试—如何搭建自动化测试环境?

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,

    2024年02月19日
    浏览(14)
  • 【自动化测试】Java+Selenium自动化测试环境搭建

    【自动化测试】Java+Selenium自动化测试环境搭建

    本主要介绍以Java为基础,搭建Selenium自动化测试环境,并且实现代码编写的过程。 1.Selenium介绍 Selenium 1.0 包含 core、IDE、RC、grid 四部分,selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构化(OOPP)和便于编写代码的各自思想予以整合后形成的新工具,也就是我们所

    2024年02月11日
    浏览(7)
  • App自动化测试|Appium+Python自动化测试环境搭建

    App自动化测试|Appium+Python自动化测试环境搭建

    搭建过程步骤如下: 安装jdk并配置好环境变量(jdk版本1.8以上) 安装android-sdk并配置好环境变量;具体步骤见:Android Studio安装(推荐使用这种方法安装SDK) - 环境配置 - 测试人社区 安装安卓模拟器 安装node.js(官网下载安装最新版本) ;下载地址:下载 | Node.js 中文网 找到wind

    2024年02月12日
    浏览(9)
  • selenium 自动化测试——环境搭建

    selenium 自动化测试——环境搭建

    安装python,并且使用pip命令安装 selenium 然后尝试第一次使用selenium 完成一个简单的测试自动化脚本 执行过程中,你会发现执行到第4行时会报错,那是因为没有下载对应的浏览器驱动, 下载对应的驱动,我的是chrome浏览器,查看版本 然后找到对应的webdriver文件下载,完成后

    2024年02月10日
    浏览(12)
  • 自动化测试-selenium环境搭建

    自动化测试-selenium环境搭建

    自动化是指使用软件工具、脚本或程序来执行一系列的任务、操作或流程,而无需人工干预或指导。 自动化测试:使用自动化工具和脚本来执行测试用例,验证软件的正确性和稳定性。自动化测试可以快速执行,并可以重复执行,以降低人工测试的成本和时间。常见的自动化

    2024年02月16日
    浏览(10)
  • IOS自动化测试环境搭建教程

    IOS自动化测试环境搭建教程

    目录 一、前言 二、环境依赖 1、环境依赖项 2、环境需求与支持 三、环境配置 1、xcode安装 2、Git安装 3、Homebrew安装(用brew来安装依赖) 4、npm和nodejs安装 5、libimobiledevice安装 6、idevicesinstaller安装 7、ios-deploy安装 8、Carthage安装 9、Appium安装 【我安装的appium版本:1.21.0】 10、

    2024年02月15日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包