基于Docker实现WEB和API自动化测试


电脑配置:Windows 10,华硕天选,R9-4900H,RTX2060


一、安装Docker


1.进入官网(https://www.docker.com/products/docker-desktop/),安装Windows版本的Docker。
2.然后是傻瓜式安装,安装完成后在CMD中输入docker version出现类似以下界面表示安装成功。




二、编写Dockerfile


在项目目录下编写Dockerfile文件用于生成自定义docker镜像:

# 获取镜像markadams/chromium-xvfb-py3,该基本镜像支持chrome浏览器无头WEB测试(兼容API测试)
FROM markadams/chromium-xvfb-py3

# 设置时区,避免错误的日志时间造成困惑
ENV TZ 'Asia/Shanghai'

# 设置编码方式,将镜像中的默认编码方式设置为UTF-8
ENV LANG C.UTF-8

# 设置环境变量,将项目目录添加为系统环境变量
ENV PATH=$PATH:/code

# 安装字体,镜像中不支持中文显示,需要添加中文字体以支持显示,simsun.ttf可自行下载或替换
COPY ./resources/simsun.ttf /usr/share/fonts/ttf-dejavu/simsun.ttf

# 拷贝镜像源,使用国内镜像源避免安装依赖时超时
COPY ./resources/sources.list /etc/apt/sources.list

# 添加代码到镜像,将当前目录(即项目目录)的所有内容拷贝到镜像中的code目录下
COPY . /code

# 更新apt-get,以便获取最新版本列表
RUN apt-get update

# 安装pip,用于支持后续安装Python项目的依赖
RUN apt-get install -y python3-pip --allow-unauthenticated

# 安装依赖,requirements.txt需要包含项目需要的所有依赖
RUN pip3 install -r /code/requirements.txt

# 运行程序,基于该镜像创建容器时会执行以下命令,即运行自动化测试项目的入口程序
CMD ["python3", "/code/main/main.py"]

在示例中使用了阿里云的国内镜像源,sources.list的内容如下:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

三、执行步骤


(在此期间需要维持Docker-desktop程序的运行)

1.以管理员身份启动CMD,并进入到自动化测试项目的目录下,示例项目目录位于D:\temp\TestRepo。




2.使用以下命令创建镜像,该命令会根据Dockerfile文件创建名为autotest且版本号为v0.1的自定义镜像,并将当前目录作为镜像的上下文路径。

docker build -t autotest:v0.1 .



3.使用以下命令可以查看已经创建的镜像列表。

docker images



4.使用以下命令可以基于上述自定义镜像创建一个名为autotest_container的容器,创建完会自动运行Dockerfile中的CMD命令。

docker run -it --name=autotest_container autotest:v0.1



示例项目中包括两个WEB自动化用例和四个API自动化用例,上图显示六个用例均正常执行且通过。

5.使用以下命令可以查看已有的容器列表。

docker ps -a



6.使用以下命令删除镜像和容器。

# 根据容器名(autotest_container)删除容器
docker rm autotest_container
# 根据镜像名(autotest:v0.1)删除镜像
docker rmi "autotest:v0.1"



此时删除的容器和镜像不再出现在容器和镜像列表中。




有错误或者改进的地方请各位积极指出!

猜你喜欢

转载自blog.csdn.net/embracestar/article/details/127192662