1、ubuntu环境搭建
Win10环境,准备VMware安装包以及Ubuntu镜像服务器版18.04,具体安装步骤如下
VMware 安装 Ubuntu Server
2、Docker安装
2.1 更改apt源为阿里源
Ubuntu18.04下更改apt源
cd /etc/apt/
ll
sudo vim sources.list
2.2 安装docker
sudo apt-get update
sudo apt-get install docker.io
sudo docker version
3、windows下运行python+pytest+allure自动化测试代码
3.1 安装python、pip、pytest、allure环境
安装Command Tool解压压缩包
安装提示没有java环境,所以先安装jdk
3.2 编写测试用例
# encoding:utf-8
import os
import pytest
def test_fun1():
assert 1 == 1
def test_fun2():
assert 0 == 0
测试函数要以test开头,默认情况下pytest 会递归查找当前目录下所有以 test 开始或结尾的python脚本,并执行文件内的所有以 test 开始或结束的函数和方法
编写pytest测试样例py文件规则如下:
测试文件以test_开头(以test结尾也可以),注意必须有下划线
测试类以Test开头,并且不能带有 init 方法
测试函数以test_开头
断言使用基本的assert即可
3.3 生成测试数据
pytest.main(["-sq", "--alluredir", 'results'])
3.4 生成测试报告
allure generate -c results -o report
查看allure报告
完整代码如下
# encoding:utf-8
import os
import pytest
def test_fun1():
assert 1 == 1
def test_fun2():
assert 0 == 0
if __name__ == '__main__':
pytest.main(["-sq", "--alluredir", 'results'])
os.system("allure generate -c results -o report")
第一个是数据集合目录,第二个是生成报告目录
4、创建Dockerfile
Dockerfile: 是描述制作镜像的过程的文档
4.1 先新建包含所有依赖包的requirements.txt
文件
pip freeze >requirements.txt
4.2 创建Dockerfile
# 使用python为基础镜像
FROM python:3.8.5
# 用户信息
MAINTAINER yujuan "yujuan@hollysys.net"
# 设置工作目录 /code
WORKDIR /code
# 将当前目录内容复制到容器中
ADD . /code
# 设置JDK环境变量
ADD jdk-8u121-linux-x64.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_121
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
# 更新pip
RUN /usr/local/bin/python -m pip install --upgrade pip -i https://pypi.douban.com/simple
# 安装所有requirements.txt规定的的包
RUN pip install -r requirements.txt -i https://pypi.douban.com/simple
# 运行test_weather.py
RUN python test_tos.py
Dockerfile指令
Dockerfile构建镜像
5、 Docker容器化部署Python应用
5.1 镜像制作指令
docker build -t 镜像名称:镜像版本 .
注意后面有个点,默认使用当前路径下的名为Dockerfile 的文件作为 Dockerfile
可以通过docker images查看是否构建镜像成功
image.png
5.2 镜像启动指令
docker run -d 镜像名称:镜像版本
5.3 进入容器
通过docker ps -a
查看容器ID
进入容器:
docker exec -it 容器ID /bin/bash
执行docker exec命令报错Error response from daemon: Container XXX is not running
,Docker启动不了容器
网友评论