接口自动化框架(Pytest+request+Allure)

 

前言:

接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱。
接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试。
本次文章着重介绍第一种,功能性的接口自动化框架。


一、简单介绍

环境:Mac、Python 3,Pytest,Allure,Request
流程:读取Yaml测试数据-生成测试用例-执行测试用例-生成Allure报告
模块类的设计说明:

Request.py 封装request方法,可以支持多协议扩展(get\post\put)
Config.py读取配置文件,包括:不同环境的配置,email相关配置
Log.py 封装记录log方法,分为:debug、info、warning、error、critical
Email.py 封装smtplib方法,运行结果发送邮件通知
Assert.py 封装assert方法
run.py 核心代码。定义并执行用例集,生成报告

Yaml测试数据格式如下:

--- Basic:   dec: "基础设置"   parameters:     -       url: /settings/basic.json       data: slug=da1677475c27       header: {                  "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko)\                   Chrome/67.0.3396.99 Safari/537.36",                  "Content-Type": "keep-alive"               }

二、代码结构与框架流程

1、代码结构见下图:

代码结构.png

2、框架流程见下图:

框架流程.jpg


三、详细功能和使用说明

1、定义配置文件config.ini

该文件中区分测试环境[private_debug]和正式环境[online_release]分别定义相关配置项,[mail]部分为邮件相关配置项

# http接口测试框架配置信息  [private_debug] # debug测试服务 tester = your name environment = debug versionCode = your version host = www.jianshu.com loginHost = /Login loginInfo = email=wang@user.com&password=123456  [online_release] # release正式服务 tester = your name environment = release versionCode = v1.0 host = www.jianshu.com loginHost = /Login loginInfo = email=wang@user.com&password=123456  [mail] #发送邮件信息 smtpserver = smtp.163.com sender = test1@163.com receiver = wang@user.com username = wang@user.com password = 123456
2、读取yaml测试数据后封装

yaml测试数据例子见第一节,一条接口可定义多条case数据,get_parameter为已封装好的读取yaml数据方法,循环读取后将多条case数据存在list中。

class Basic:     params = get_parameter('Basic')     url = []     data = []     header = []     for i in range(0, len(params)):         url.append(params[i]['url'])         data.append(params[i]['data'])         header.append(params[i]['header'])
3、编写用例
class TestBasic:     @pytest.allure.feature('Home')     @allure.severity('blocker')     @allure.story('Basic')     
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信