接口自动化框架设计
2023-11-03 14:02:14 0 举报
AI智能生成
接口自动化测试,框架设计,测试开发。
作者其他创作
大纲/内容
4.data
①case_data.xlsx
1.excl的文件,sheet的名字要和用例中调用的名字一致
2.接口标题有case_name、res_url、method、
data、file、chech、save_var、sleep、header
data、file、chech、save_var、sleep、header
②图片、文件
1.报错图片、成功图片等
2.加密的密钥文件
5.lib
①ddt.py
1.接口请求的入参url、header、method、data,
采用数据字典的方法处理
采用数据字典的方法处理
②find_case.py
1.方法:def all_cases():
2.库:unittest,config.setting,
使用discover方法筛选出来的用例,循环添加到测试套件中
使用discover方法筛选出来的用例,循环添加到测试套件中
③HTMLTestRunner.py
1.用例结果有通过、失败、错误三种
2.饼状图形显示用例执行成功比率
3.报告保存在report目录,通过邮件发送
6.log&reports
1.运行一次生产一个log和一个报告
7.test_case
①test_veh.py
1.类:class Test_veh(unittest.TestCase):
2.方法:def test_veh(self, res_url, method, case_name, header,
file=None, data=None, save_var=None, check=None, sleep=None):
file=None, data=None, save_var=None, check=None, sleep=None):
3.步骤:替换变量、获取入参、发送请求、断言
8.run_case
①run_api.py
1.库:time、lib、config
2.运行:执行用例生成报告
2.Common
①assert_data.py
1.方法:def assert_eq,def assert_json
2.用到的库common.log; common.var_manage
②exl_xlrd.py
1.类:class ExcelUtil():
def __init__(self, excelPath, sheetName):
def __init__(self, excelPath, sheetName):
2.方法:def __init__ ;def read_excel;
3.库:xlrd;config.setting
获取文件路径和sheet名,获取后读取相关sheet的内容
获取文件路径和sheet名,获取后读取相关sheet的内容
③get_sign.py
1.方法:def get_sign(data, url):
请求的账号密码进行加密后入参.
请求的账号密码进行加密后入参.
2.库:copy;hashlib;random;string;time;config.setting;
④log.py
1.方法:def get_logger(name='api', file_log=True, level=''):
def logger(param):
def logger(param):
2.库:functools/wraps;config.setting;logbook;
根据测试需要自定义Log等级.
根据测试需要自定义Log等级.
⑤req_method.py
1.类:class ReqMethod(object):
方法:def __init__(self, host, api_url, header):
def run_case(self, do, param):
方法:def __init__(self, host, api_url, header):
def run_case(self, do, param):
2.库:json;requests;urllib3
常用的有get,post,delete...等
常用的有get,post,delete...等
⑥var_manage.py
1.方法:def write_d(target, keys): def read_d(keys: str):
def replace_var(data: any): def get_dict(data, keys):
def save_list(list_var, res_dict): def save_res(save_var, res_dict):
def replace_var(data: any): def get_dict(data, keys):
def save_list(list_var, res_dict): def save_res(save_var, res_dict):
2.库:pickle;re;config.setting
依赖条件中,获取上一个接口返回结果中的字段作为下个接口的入参
依赖条件中,获取上一个接口返回结果中的字段作为下个接口的入参
3.config
①config.yaml
1.配置日志等级、环境信息、数据库信息、
账号、邮箱、报告...等配置
账号、邮箱、报告...等配置
②send_email.py
1.类:class SendEmail(object):
方法:def delete_report(self):
def send_email(self): def send(self, report):
方法:def delete_report(self):
def send_email(self): def send(self, report):
2.库:smtplib, time, config.setting, email.
发送报告的方法、发送报告及附件、删除报告
发送报告的方法、发送报告及附件、删除报告
③setting.py
1.封装类:class Config:
class YamlHandler:
class YamlHandler:
2.库:os, yaml.
对配置文件中的数据、路径、配置、文件等进行封装
对配置文件中的数据、路径、配置、文件等进行封装
1.venv
1.跟随项目与本地环境隔离开;使用pip进行安装需要的库;
或在pycharm中文件-设置-项目中也可安装插件;
或在pycharm中文件-设置-项目中也可安装插件;
2.创建方法:>pip linstall virtualenv 安装插件;
>进入项目所在目录virtualenv venv 创建
>进入venv/Scripts activate 进入虚拟环境,exit退出
>进入项目所在目录virtualenv venv 创建
>进入venv/Scripts activate 进入虚拟环境,exit退出
3.指定路径:虚拟环境创建好后,在pycharm中文件-设置-项目,
指定虚拟环境的路径(指定venv/Scripts/python.exe)
指定虚拟环境的路径(指定venv/Scripts/python.exe)
自由主题
0 条评论
下一页