DockerをベースにWEBやAPIの自動テストを実現


コンピューター構成: Windows 10、Asus Tianxuan、R9-4900H、RTX2060


1.Dockerをインストールする


1. 公式 Web サイト (https://www.docker.com/products/docker-desktop/) にアクセスし、Windows バージョンの Docker をインストールします。
2. インストールが完了したら、CMD で docker version を入力すると、次のようなインターフェイスが表示され、インストールが成功したことがわかります。




2、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"]

例ではAlibaba Cloudの国内画像ソースを使用しており、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

3. 実行手順


(この期間中、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



サンプル プロジェクトには 2 つの WEB 自動化ユース ケースと 4 つの API 自動化ユース ケースが含まれており、上図では 6 つのユース ケースがすべて正常に実行され、成功していることがわかります。

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