test_docker_to_docker(接口自动化框架容器化)
1、在pycharm中创建requirements.txt文件
2、编写测试脚本测试框架
创建一个test_api.py文件
import pytest
import requests
import os
base_url = os.getenv('BASE_URL')
@pytest.mark.parametrize(
'path,method,code',
[
('get', 'get', 200),
('get', 'post', 405),
('post', 'post', 200),
('post', 'get', 405),
]
)
def test_api_method(path, method, code):
url = base_url +'/'+ path
res = requests.request(method, url)
assert res.status_code == code
3、创建一个Dockerfile文件
from python:3.10
workdir /app
COPY requirements.txt /app/
COPY test_api.py /app/
run pip config set global.index-url https://mirrors.aliyun.com/pypi/simple && \
pip install -r requirements.txt
cmd pytest
4、在xftp工具中 使用rz命令找到上面三个文件上传到创建的目录mkdir docer_demo 目录中
5、执行下面命令构建编译容器
sudo docker build -t api_test:v1 .
6、执行下面命令运行容器
docker run --rm -e BASE_URL=http://httpbin.org api_test:v1
7、创建一个docker-compose.yaml文件
version: '3.7'
services:
api_server:
image: kennethreitz/httpbin
api_test:
image: api_test:v1
environment:
- BASE_URL=http://api_server
depends_on:
- api_server
8、将docker-compose.yaml文件上传到docer_demo目录中
9、执行下面命令
docker-compose up --abort-on-container-exit#运行cmopose文件并自动推出
docker-compose down#清除创建的服务