Docker是一个操作系统容器管理工具,通过将应用打包到操作系统容器里面,从而能轻松管理和部署应用。将Robot Framework docker化,可轻松实现测试用例并行执行。本文介绍如何将Robot Framework Docker化。
一
拉取镜像-Alpine Linux
docker pull docker.io/alpine
备注:不存在该镜像时,Docker会自动下载该镜像
image
二
配置Dockerfile
$ cd /docker
$ mkdir RF
$ cd RF
$ touch Dockerfile
$ vim Dockerfile
FROM alpine:3.7
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories
RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash python \
&& python -m ensurepip \
&& rm -rf /usr/lib/python*/ensurepip \
&& pip install --upgrade pip setuptools \
&& rm -rf ~/.cache/ \ && pip --default-timeout=100 install robotframework \
&& pip --default-timeout=100 install PyMySQL \
&& pip --default-timeout=100 install robotframework-databaselibrary \
&& pip --default-timeout=100 install robotframework-requests \
&& pip --default-timeout=100 install robotframework-seleniumlibrary \
&& pip --default-timeout=100 install robotframework-yamllibrary \
&& rm -rf /var/cache/apk/*
COPY ./workplace /home # 自动从本机./workplace下的文件拷贝到容器里/home目录下
cmd pybot /home/InterfaceTest #自动执行容器中该目录下的测试用例
此Dockerfile可实现 :自动下载安装RF所需要文件,启动容器就会自动从本机./workplace下的文件拷贝到容器里/home目录下,并自动执行测试用例。如果只是单纯搭建RF环境,那么最后2句可不需要,按需选择。
三
构建容器
docker build -t alpine-rf /docker/RF
** -t alpine-rf**:为要创建的目标镜像名
** /docker/RF**:Dockerfile 文件所在目录
构建完成:
image.gif
四
启动容器
docker run -it --name RF alpine-rf
** -it**:容器运行于后台交互模式
** --name** RF :容器名重命名为RF
容器启动后,就会自动跑Dockerfile中配置的测试用例,执行结束就会自动关闭容器。 可通过portainer容器日志查看测试用例执行情况:
image
image
五
总结
以上完成了Docker搭建Robot Framework环境,并在启动容器的时候自动执行测试用例。可以与Jenkins结合 完成测试代码自动部署、测试用例自动执行。