接口自动化测试——实战项目ZrLog

背景:该实战项目来源于江楚老师编写的《接口自动化测试项目实战》一书,分为两个部分,第一部分是接口自动化测试基础,包含:部署被测系统ZrLog(Docker),Request库,os库,logging库,PyMySQL库,pytest框架的使用;第二部分为构建接口自动化测试框架,应用第一部分的知识对ZrLog项目设计测试用例,搭建接口自动化测试框架,实现接口自动化测试框架的持续集成等。我在这里写下这篇博客是为了记录完成这次实战的过程,以及自己在过程中遇见的一些问题,分享给大家。

实现技术:Docker+Python3.8+Requests+PyMySQL+Navicat+pytest+Jenkins

江楚老师提供了课程源码,讲解PPT以及一部分的录制视频,可在百度网盘自行下载:

江楚老师的源码及ppt下载icon-default.png?t=O83Ahttps://pan.baidu.com/s/1QXlB-J8x4U3Xrt8tRHvI0w?pwd=nmxd

第一部分:接口自动化测试基础

1、 部署被测环境 

(1)Docker安装

        Docker是一个容器化平台,它允许开发者将应用及其依赖打包进一个轻量级、可移植的容器中,实现应用在不同环境中的快速部署、迁移和扩展,同时保证了环境的一致性和隔离性。
        在这里我用的linux系统是wsl2,由于最近docker封掉了很多镜像源,所以我直接下的Docker Desktop,安装和使用教程依照下面这篇博客。

Docker Desktop 安装使用教程-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/GoodburghCottage/article/details/131413312?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522b38d42f503c04cf7421e2a5f2f5f607d%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=b38d42f503c04cf7421e2a5f2f5f607d&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-131413312-null-null.142%5Ev100%5Epc_search_result_base6&utm_term=Docker%20desktop&spm=1018.2226.3001.4187        因为镜像源不好用...(主要是我配了以后不知道为什么整个Desktop就崩了),所以我没有按照博客中的那样去配源,直接在Windows上科学上网,不配源,也是可以直接使用Docker Desktop去search 和 pull 的。

(2)通过Docker部署Tomcat

        直接在Docker Desktop上方搜索tomcat。

        选择tomcat:9,pull下来。在docker终端中(也可以直接在images里面启动,填写配置信息):

docker run -di -p 80:8080 --name=tomcat001 tomcat:9

docker ps -a

         若发现给tomcat分配了序列号,并且status为up,即为启动成功。可以通过desktop或者设置的端口号访问页面,看到tomcat的主页,就ok了。如果看不到,就说明要查一下首页是否存在(我恨tomcat),我的解决方法是下面这个博客,原因是webapps里没有内容,将webapps.dist内的内容转到webapps里就ok了。

Docker启动Tomcat容器_docker 启动tomcat-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/m0_59092234/article/details/126642407

(3)通过Docker部署MySQL

        这个没踩啥坑,按教程来就可以,就是中间有个语法不匹配问题。同样的pull下来一个Mysql的images,然后启动。

        更新:有大坑,在docker desktop里面只有最新版本的mysql,后面在配Pymysql库的时候,这个mysql在连接navicat的时候,可能由于navicat版本过低,发生连接报错“1251”,而这个问题我尝试了很多方法都解决不了,由于我使用的是破解版navicat,不可能去更新navicat,所以存在这样的版本问题。

        解决方法:删除原本的pull下来的mysql images,在docker的终端执行(教材里写了指定版本...我以为下最新的报不了错...):这个pull要用VPN,不然报错。

docker pull mysql:5.7

        随后正常注册就可以。 如果你不幸装到PyMySQL才发现这个问题,那你需要重新安装一遍zrlog。

        将mysql pull下来后,执行:

docker run -di --name=mysql001 -p 33506:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
# 登录Mysql容器
docker exec -ti 5d413a696c30(你自己Mysql的启动后的序列号) bash

# 从容器中登录到MySQL数据库
mysql -uroot -p
123456

# 创建ZrLog系统所需要的数据库
Mysql> create database zrlog;

# 以下这条我执行不了
# 授权一个可远程访问的用户,后期进行数据操作和远程客户端连接
[root@localhost ~] grant all privileges on *.* to root@'%'  identi
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值