Docker容器化测试环境搭建 – 本地测试环境一键部署

前言

大家好,我是容器测试员。做测试环境管理5年,Docker彻底改变了测试环境搭建的方式。今天分享Docker容器化测试环境的搭建经验。

一、为什么用Docker搭建测试环境?

传统环境痛点

Docker优势

优势 说明
一致性 环境完全一致
快速 秒级启动
可复现 镜像固定
节省资源 容器轻量

二、Docker基础概念

核心概念

Dockerfile

dockerfile

测试环境Dockerfile

FROM python:3.9

WORKDIR /app

安装依赖

COPY requirements.txt .
RUN pip install -r requirements.txt

复制代码

COPY . .

启动命令

CMD [“pytest”, “tests/”]

三、测试环境Docker化

Web测试环境

yaml

docker-compose.yml

version: ‘3’
services:
# 测试应用
app:
build: .
ports:
– “8080:8080”
depends_on:
– db
– redis

# 数据库
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: test123
MYSQL_DATABASE: test_db
volumes:
– db_data:/var/lib/mysql

# Redis
redis:
image: redis:alpine

# Selenium Grid
selenium-hub:
image: selenium/hub:4
ports:
– “4444:4444”

selenium-node:
image: selenium/node-chrome:4
depends_on:
– selenium-hub
environment:
SE_EVENT_BUS_HOST: selenium-hub

四、一键部署脚本

bash
#!/bin/bash

deploy_test_env.sh

echo “启动测试环境…”

启动所有服务

docker-compose up -d

等待服务就绪

echo “等待服务启动…”
sleep 30

检查服务状态

docker-compose ps

运行测试

docker-compose exec app pytest tests/

echo “测试完成,清理环境…”
docker-compose down

五、RunnerGo Docker部署

RunnerGo官方提供Docker部署方案:

yaml

RunnerGo docker-compose

version: ‘3’
services:
runnergo-web:
image: runnergo/web:latest
ports:
– “3000:3000”

runnergo-server:
image: runnergo/server:latest
ports:
– “8000:8000”

mysql:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: runnergo

mongo:
image: mongo:latest

redis:
image: redis:alpine

总结

Docker测试环境要点:

环节 配置
镜像构建 Dockerfile定义
服务编排 docker-compose.yml
一键部署 Shell脚本
环境清理 docker-compose down

下期预告:测试右移与生产监控 – 发布后的质量保障策略

分享到:

探索 RunnerGo 全栈测试平台

RunnerGo 是一款面向企业的全栈测试平台,集接口测试、自动化测试、性能测试、UI测试于一体,助力企业提升研发效能。

接口测试
性能测试
自动化测试
免费体验 RunnerGo