apitest2020
(废弃)
apitest2020 : study api test
学习接口自动化测试,学习了简单的自动化框架
平时工作比较忙,下班抽空搞的...
使用简单的django进行搭建简单的环境辅助自己测试用
python+excel+pytest+allure
主要把case保存在excel里,然后通过python进行调用测试
基本使用
###1 修改 data/case.xlsx 接口测试case
###2. 执行main/run_test.py
excel大体结构(还在修改中,需要搭配实际进行调整)
结构说明
- base: 放置基本的测试方法,以及基本处理
- case: 后期放置测试的case。比如测试单独case,多个测试case
- data: 放置测试时 需要的硬数据。比如xlsx,json,或者模拟的数据、文件
- datacfg: 获取数据的方法,操控数据的读写
- main: 执行入口
- log: 日志的存放
- utils: 存放通用的工具、操作方法
基本思想
获取case相关信息
跑测试(中间包含了一些处理,比如cookie,token ,header的携带)
cookies,token 失效,自动更新 处理
python 接口测试时token,cookie失效重新获取方法
'''
重新获取token,cookies使用
需要根据实际情况进行修改
'''
from utils.common_util import CommonUtil
from datacfg.get_dependent_data import DependentData
from base.LogUtil import my_log
log=my_log(__file__)
#check_token_exception
class TokenCheck():
TOKEN_NOT_OK_VALUE = "Token parsing exception"
TOKEN_NOT_OK_VALUE2 = "请求token失效"
COOKIE_NOT_OK_VALUE =""
SUCCESS_LOGIN_CASE_ID = "login_01"
def __init__(self):
self.depent_data = DependentData()
self.comtool = CommonUtil()
##适配 .响应body 里包含了 失效的文字,则重新获取token
def check_token_exception(self, response_body):
if self.comtool.is_contain(TokenCheck.TOKEN_NOT_OK_VALUE,str(response_body) )\
or self.comtool.is_contain( TokenCheck.TOKEN_NOT_OK_VALUE2,str(response_body)) :
print("token失效了,重新获取")
if self.__reget_token():
print("重新获取token成功")
return True
return False
##
return False
def __reget_token(self, loginid=None):
if not loginid:
loginid = TokenCheck.SUCCESS_LOGIN_CASE_ID
#重新执行,获取token接口
ret = self.depent_data.force_runcase_by_caseid(loginid, token=True)
return ret
需要完善,持续更新
TODO
测试的语句可能需要数据库、或者登录服务器进行协助调整
接口用例编写的自动化或者是半自动化(swagger接口,自动转换到excel里面)
报告的优化展示(allure)
代码调整‘优化!
文档完善