目录
前言:
一、接口测试框架选型
二、接口自动化框架封装的设计
2.1 创建测试用例
2.2 执行测试用例
2.3 生成测试报告
三、 实现Jenkins持续集成
3.1 安装Jenkins
3.2 配置Jenkins
3.3 创建Jenkins任务
四、总结
前言:
接口测试作为软件测试中的一部分,对于保证软件质量以及减少系统风险起着至关重要的作用。然而,在开发过程中,接口测试工作通常被认为是一项繁琐而耗时的任务,需要不断地手动执行测试用例并进行结果验证。因此,自动化接口测试逐渐成为了软件开发的一项热门技术。
在自动化测试中,接口自动化框架是实现自动化测试的重要工具。封装好的接口自动化框架可以高效地运行测试案例,并为开发者和测试人员提供丰富的测试报告和测试结果分析。本文将介绍一项接口自动化框架封装项目实战,重点介绍如何使用Jenkins进行持续集成,并通过Allure报告进行测试结果展示。
一、接口测试框架选型
在开发接口自动化框架之前,还需要选择一个适合的框架。目前市面上的接口自动化测试框架有很多种,我这里选择了Python语言下的requests库和pytest测试框架。
requests库可以方便地向接口发送请求,并解析返回结果,对于接口测试来说非常实用;pytest框架早已成为Python生态系统中的一个主流测试框架,其简单易用、扩展性强且可维护性高等优点,也成为我们选择的理由。
二、接口自动化框架封装的设计
为了实现接口测试的自动化,我们需要完成如下三个主要的工作:
1. 创建测试用例
2. 执行测试用例
3. 生成测试报告
2.1 创建测试用例
在接口测试中,测试用例是重中之重。在我们的项目实现中,我们使用了pytest框架和python语言完成了测试用例的编写。
import pytest
import requests
# 接口地址
url = 'http://api.apiopen.top/recommendPoetry'
def test_get_poetry():
# 发送GET请求
r = requests.get(url)
# 返回结果断言
assert r.status_code == 200
assert r.json()['code'] == 200
2.2 执行测试用例
接下来,我们需要编写一个入口文件,以便通过命令行执行测试用例。在我们的项目实现中,我们使用了pytest的main函数来运行测试用例。
if __name__ == '__main__':
# 执行测试用例
pytest.main(['-s', '-v'])
2.3 生成测试报告
测试报告是我们展示测试结果的关键,因此需要一个支持生成测试报告的工具。在我们的项目实现中,我们使用了Allure生成测试报告。
Allure是一个针对测试结果进行转换、存储和报表的开源测试框架。它支持Python、Java、Ruby、Go和Scala等主流编程语言,并且提供了多种生成测试报告的方式。
在本项目中,我们通过使用pytest和pytest-allure插件集成Allure来生成测试报告。同时,我们还需要编写一个generate_report.py脚本,以便自动化运行测试用例并生成测试报告。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import shutil
import pytest
def run():
"""
执行测试用例,并生成Allure测试报告
"""
# 删除历史Allure测试报告
if os.path.exists('./allure-report'):
shutil.rmtree('./allure-report')
# 执行测试用例
pytest.main(['-s', '-q', '--alluredir', './allure-results'])
# 生成Allure测试报告
os.system('allure generate ./allure-results -o ./allure-report --clean')
三、 实现Jenkins持续集成
Jenkins是一款开源的自动化工具,能够实现自动化构建、自动化部署和自动化测试等多个功能。在本项目中,我们选择使用Jenkins来实现接口测试的持续集成。
3.1 安装Jenkins
首先,我们需要在本地安装Jenkins。具体安装步骤可以参考官网指引
[https://jenkins.io/doc/book/installing/](https://jenkins.io/doc/book/installing/)。
3.2 配置Jenkins
安装完成后,在Jenkins面板中进行全局配置。
添加全局变量ALLURE_HOME:
![全局变量设置](https://cdn.luogu.com.cn/upload/image_hosting/8aoz9bzt.png)
安装Allure插件:
![插件安装](https://cdn.luogu.com.cn/upload/image_hosting/szqb0br1.png)
3.3 创建Jenkins任务
创建Jenkins任务,为接口自动化测试框架创建一个新的持续集成任务。
![创建任务](https://cdn.luogu.com.cn/upload/image_hosting/6qc6bh54.png)
添加构建步骤为Execute shell:
![添加构建步骤](https://cdn.luogu.com.cn/upload/image_hosting/chr07kci.png)
执行命令:
cd /app && source venv/bin/activate && python generate_report.py
然后保存并立即构建该构建任务,如果构建成功没有报错,则可以看到Allure测试报告界面。
四、总结
通过本文的案例,我们学习了如何利用Python实现接口自动化测试并将其集成到Jenkins中进行持续集成。接口自动化测试和持续集成是现代软件测试的新趋势和必备技能。掌握这些技能,不仅可以提升测试效率、加快开发周期,还可以降低软件风险,为企业创造更大的价值。
作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,如果你用得到的话可以直接拿走,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!
获取方式:留言【自动化测试】即可
【自动化测试交流】:574737577(备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=yTky89vp61ak2ySZMOHqFKs3cy63KNdR&authKey=CdUemWSkJDENrUBUAj1JFqz5RQ4ov6MKoYzfjSJmLZ9Ot656Xl857XpyxrFO6OI5&noverify=0&group_code=574737577