持续集成训练营

ppt

霍格沃兹测试开发 (ceshiren.com)

Jenkins 在win环境部署

在jenkins.war包所在的位置运行命令

java -jar jenkins.war

不想所有文件都在c盘 新建一个环境变量

JENKINS_HOME

image

Jenkins Linux 部署

docker pull jenkins/jenkins:2.360

docker run -d --name jenkins_study -v ${PWD}/jenkins_home1:/var/jenkins_home -p 8081:8080 -p 50000:50000 jenkins/jenkins:2.360

接口测试

代码地址: https://gitee.com/ytq12875/i-interface_python.git


pwd
# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
. venv/bin/activate
# 安装依赖库
pip install -r requirements.txt
# 执行测试
pytest test/weather_test.py -sv --alluredir=result

Python 环境安装

Linux环境 Python3安装 - 霍格沃兹答疑区 - 测试人社区 (ceshiren.com)

导出依赖库

pip freeze > requirements.txt

UI自动化

https://gitee.com/ytq12875/iSelenium_Python.git


pwd
# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
. venv/bin/activate
# 安装依赖库
pip install -r requirements.txt
# 执行测试
pytest test/web_ut.py -sv --alluredir=result

chrome安装

// Ubuntu
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb 

// Centos
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm

点餐服务端部署

https://gitee.com/ytq12875/jenkinsCI.git

# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
. venv/bin/activate
# 安装依赖库
pip install -r requirements.txt
# 启动服务
BUILD_ID=dontKillMe
. ./run.sh

点餐接口测试

https://gitee.com/ytq12875/jenkinsCIApi.git

# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
. venv/bin/activate
# 安装依赖库
pip install -r requirements.txt
# 执行测试
pytest test_api.py -sv --alluredir=result

邮件模板

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>$PROJECT_NAME - Build # $BUILD_NUMBER </title>
</head>

<body leftmargin ="8" maginwidth="0" topmargin="8" marginheight="4"
    offset="0">
    <div>
    <table width="100%" cellpadding="0" cellspacing="0"
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
    <tr>
         <td>(本邮件是程序自动下发的,请勿回复!)</td>
     </tr>
  <tr>
            <td>
                <h2> <font color="#0000FF">构建结果 -${BUILD_STATUS}</font> </h2></td>
  </tr>
  <tr>
            <td>
                <br /><b><font color="#0B610B">构建信息</font></b>
                <hr size="2" width="100%" align="center" />
            </td>
</tr>
<tr>
            <td>
                <ul>
                    <!--li>详细测试报告 :<a href="${PROJECT_URL}ws/target/jmeter/html">${PROJECT_URL}target/jmeter/html</a></li-->
                    <li>项目名称 :$PROJECT_NAME</li>
                    <li>构建编号 :第${BUILD_NUMBER}次构建</li>
                    <li>触发原因 :${CAUSE}</li>
                    <li>构建日志 :<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                    <li>构建 Url :<a href="${BUILD_URL}">${BUILD_URL}</a></li>
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                    <li>项目 Url :<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                    <li>历史变更记录 :<a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
                </ul>
            </td>
    </tr>
     <tr>
            <td>
                <br /> <b><font color="#0B610B">详细报告请查阅附件(报告记录了接口的详细请求和响应)</font></b>
            </td>
      </tr>
    <tr>
            <td>
                <br /> <b><font color="#0B610B">汇总报告如下:</font></b>
                <hr size="4" width="100%" align="center" />
            </td>
</tr>
      </table>
     </div>
   </body>
 </html>