思考一下为什么要做接口测试?接口测试的正常流程是什么样的?明确了才容易着手搭建接口测试所需的框架。做接口测试的目的主要有以下几点:
不同端的工作进度不一样,需要对最开始出来的接口进行接口测试;节约时间,缩短项目时间;提高工作效率;提高系统的健壮性等。而正常的测试流程大致分为:需求评审、场景设计、设计用例、配置需要的接口参数、执行测试、检查测试结果、生成测试报告这几个过程。
还需要了解一下接口测试的种类有哪些?接口的种类主要分为外部接口、内部接口,不了解的可以查找相关资料,这个不作为本次重点讲述范围,所以不再此展开。
好了,下面开始讲述接口测试框架的搭建过程:
环境搭建
本套框架是采用python6自带的requests库来进行接口测试的,所以需要先安装python6以及request库安装pycharm
在Pycharm官网,或者直接输入网址:http://www.https://www.jetbrains.com/pycharm/,下载PyCharm安装包,根据自己电脑的操作系统进行选择安装安装后进入激活界面,选择第二个Licenseserver,然后输入注册码,这里提供四个:
框架搭建
框架主要分为:配置文件、接口相关文件、测试用例、测试用例脚本、生成测试报告以及发送测试报告邮件这几个模块。目的是使业务逻辑和测试脚本分离,便于灵活的使用和管理接口自动化测试框架,我的结构是这样的,可以参考一下。配置文件:
confiini配置文件:存放一些固定的数据,如域名、协议、端口、数据库账号密码、邮件发送人、邮件接收人,保存auth等。
readConfipy:用于读取config配置文件内容,
import os
import codecs
import configparser
proDir = os.path.split(os.path.realpath(__file__))[0]
configPath = os.path.join(proDir, 'config.ini')
class ReadConfig:
def __init__(self):
fd = open(configPath)
data = fd.read()
if data[:3] == codecs.BOM_UTF8:
data = data[3:]
file = codecs.open(configPath, 'w')
file.write(data)
file.close()
fd.close()
self.cf = configparser.ConfigParser()
self.cf.read(configPath)
def get_email(self, name):
value = self.cf.get('EMAIL', name)
return value
def get_http(self, name):
value = self.cf.get('HTTP', name)
return value
def get_db(self, name):
value = self.cf.get('DATABASE', name)
return value
接口相关文件配置:
configHttp.py接口配置脚本:因为python自带的requests库已经封装好了测试接口的方法,用起来也比较方便,所以只需要在configHttp中配置需要的方法就可以了。interfaceURxml接口url文件:因为整个接口的前半部分的域名是固定的,放在了confiini配置文件中,而接口后半部分因业务功能不一样而有所不同,所以将接口的后半部分放在这个xml文件中,可以根据实际情况获取。
测试用例管理:
使用excel表格来管理接口测试用例,一行对应一条测试用例,一个sheet表对应一个测试用例脚本测试脚本统一放在testCase文件夹中,如:caselist.txt文件:该配置文件用于配置每次执行的用例名称,如果不需要执行某一个测试用例,只需要在caselist.txt文件中将这个用例名称使用“#”号注释掉就好了result测试结果文件夹:该文件夹存放每次生成的测试结果,即测试报告和相关的日志文件,如:
测试报告
HTMLTestRunner.py是用于生成html格式的测试报告,如:HTMLTestRunner.py配置方法:
进入python交互模式,输入importHTMLTestRunner,如果没有报错,则说明添加成功
如果在pycharm中运行HTMLTestRunner时,报错:PyCharm:ModuleNotFoundError:Nomodulenamed‘HTMLTestRunner’提示找不到这个模块,但在python交互模式下,是可以导入HTMLTestRunner的,在pycharm中会报错是因为PyCharm和之前命令行安装使用的不是一套资源,需要在pycharm中重新导入HTMLTestRunner。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点
对酒当歌丶2022-11-24
你和我都是信息链最底层的人,所以股票不去人多的地方是正道,降低投资收益率的欲望,记住任何你能看到的东西都是现时给你看的