接口自动化测试的容器化方案

1.上传接口文件

[root@k8s-master newmanImage]# ls
build  dockerfile  newmanrun.sh  postman_collection.json  postman_environment.json

//dockerfile 要与被拷贝的文件在同一目录下

2.vi newmanrun.sh

#!/bin/bash
newman run postman_collection.json \
-e postman_environment.json \
-r htmlextra,influxdb \
--reporter-htmlextra-browserTitle 测试报告 \
--reporter-htmlextra-title 测试报告 \
--reporter-htmlextra-export /usr/share/nginx/html/index.html \
--reporter-influxdb-server 172.16.193.88 \
--reporter-influxdb-port 31001 \
--reporter-influxdb-name newman \
--reporter-influxdb-measurement api_results

3.vi dockerfile 

//基于centos进行构建
FROM centos as stage-build

//拷贝接口json文件
COPY * /

//安装node.js环境,下载newman,下载插件htmlextra|html|influxdb
RUN yum -y install wget \
    && wget -O node.js.tar.xz "https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz" \
    && xz -d node.js.tar.xz \
    && tar -xvf node.js.tar \
    && ln -s /node-v16.2.0-linux-x64/bin/npm /usr/local/bin/ \
    && ln -s /node-v16.2.0-linux-x64/bin/node /usr/local/bin/ \
    && npm update -g \
    && npm install -g newman \
    && ln -s /node-v16.2.0-linux-x64/bin/newman /usr/local/bin \
    && npm install -g newman-reporter-htmlextra \
    && npm install -g newman-reporter-html \
    && npm install -g newman-reporter-influxdb

4.构建镜像

docker build -t centos/newman:v1 .

5.打标签

docker tag centos/newman:v3 242145/newman:v3

6.上传docker hub (也可以上传到harbor)

docker push 242145/newman:v3

7.部署一个Deployment (本文中使用rancher部署,安装链接

①添加nfs类型的pv

②选择类型、镜像、端口映射等

③挂载卷 (容器路径为nginx默认地址 /usr/share/nginx/html)

8.为Deployment添加一个sidecar

①选择镜像为步骤3中构建的镜像

②添加数据卷,与第一个容器一致

③在命令中加入 sh newmanrun.sh

9查看newman镜像的容器日志

10查看nginx映射出来的index.html

11.接口执行监控 newman+influxdb+grafana

 继续部署两个Deployment(influxdb:1.7)(grafana:7.0.0),配置数据源,编辑仪表盘。【链接中有写】

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值