接口自动化测试

目标

上节课,我们 手工执行 了接口测试用例 。

利用Python程序发送 HTTP 请求消息,打印出响应消息。然后人工检查是否用例里面的预期结果相符。

这只是手工测试,我们要自动化测试,必须把用例的所有步骤全部自动化实现。

这包括,用程序实现 :

  • 预置条件中数据环境的构建

  • 测试步骤中的测试动作,比如 发送HTTP消息给被测系统

  • 预期结果中的检查,比如 对返回HTTP响应消息中 数据的检查



自动化测试系统的开发,需要挑选一款合适的框架,这里我们用 白月黑羽 自行研发的 黑羽robot。

对黑羽robot不了解的朋友,点击这里学习黑羽robot教程

自动化系统目录结构

首先我们点击这里下载黑羽robot项目包

删除cases目录里面的 示例子目录。准备添加我们自己的测试用例目录。


我们先实现用例 API-0151 的自动化,请大家点击这里,看视频讲解

该视频对应的最终项目代码,点击这里下载



我们再实现用例 API-0152、API-0153 的自动化,请大家点击这里,看视频讲解

该视频对应的最终项目代码,点击这里下载

注意视频讲解中,当代码出现了错误,我们是怎么调试错误的。



现在我们实现了3个用例,一起执行一下看看,有没有问题?思考一下

请大家点击这里,看视频讲解

该视频对应的最终项目代码,点击这里下载

看完视频后,我们要记住的重点是:

  • 自动化用例的目录结构,最好 按照 数据环境 规划

  • 下层目录会继承上层目录的 数据环境

配置文件

我们注意到,webapi.py 库文件里面 发送API 请求,都是写死了 请求的 url ,比如

print('登录')
response = self.s.post("http://127.0.0.1/api/mgr/signin",

...

print('列出客户')
response = self.s.get("http://127.0.0.1/api/mgr/customers",

...

print('添加客户')
response = self.s.post("http://127.0.0.1/api/mgr/customers",

这样做的问题是,如果我们测试系统安装在另外的机器上,这些代码都得更改IP地址。

所以,我们应该把被测系统的主机地址写在配置文件 cfg/cfg.py 中,如下所示

target_host = '127.0.0.1'

然后,其他代码使用配置文件里面的主机地址,像这样

from cfg import cfg

print('登录')
response = self.s.post(
    f"http://{cfg.target_host}/api/mgr/signin",
    data={
        'username': username,
        'password': password
    }
)


扫码分享给朋友,一起学更有动力哦




课后练习

题目1

根据教程

API-0151  
API-0152  
API-0153 
API-0201  
API-0202  
API-0203
API-0251  
API-0252  

注意:VIP学员学到此处,自动化课程基础知识已经学习完毕,可以向白月黑羽申请进行项目实战了。

项目实战结束后,老师会对你进行 求职就业指导,包括:简历定制、模拟面试、就业问题解决。