1.自动化测试框架 线性脚本框架,数据驱动自动化框架,关键字驱动自动化框架,模块驱动自动化框架,混合自动化框架 数据驱动自动化框架 将测试数据与测试脚本分离,基于模块化的测试库,一个驱动脚本可以执行多个相似测试。数据驱动测试框架使用外部数据(excel,xml 数据库等)作为输入控制和验证自动化测试的操作 数据分层设计: 环境数据:ini 用例数据:yaml 接口地址(常量):代码 代码分层设计:
脚本层的一些公共方法 整个执行过程只执行一次''' import pytest from zonghe.caw import FileRead from zonghe.caw.BaseRequests import BaseRequests # 测试前置,session级别的,整个过程执行一次 # 读取url @pytest.fixture(scope='session') def url(): return FileRead.read_ini(r"dataenv/env.ini", "url") # 读取db @pytest.fixture(scope='session') def db(): # 配置文件中读取出来的是字符串,但是需要一个字典 # 字符串转字典 eval return eval(FileRead.read_ini(r"dataenv/env.ini", "db")) # 创建BaseRequests的实例 @pytest.fixture(scope='session') def baserequests(): return BaseRequests()''' 读文件相关的操作''' import configparser import os import yaml def get_project_path(): ''' 获取工程路径 :return: ''' # print(__file__) file_path = os.path.realpath(__file__) # 当前文件的路径 dir_path = os.path.dirname(file_path) # 获取文件所在目录的路径 dir_path = os.path.dirname(dir_path) # 获取上一级路径 return dir_path +"\\" def read_ini(file_path, key): ''' 读文件配置,根据key取value :param file_path: 文件路径 :param key: key :return: key对应的value ''' # configparser是Python中专门读配置文件的模块 config = configparser.ConfigParser() # config.read(file_path) config.read(get_project_path() + file_path) # env 对应ini 文件的 [env], 也就是section value = config.get("env", key) return value def read_yaml(file_path): ''' 读取yaml文件 :param file_path: yaml 文件路径 :return: ''' file_path = get_project_path() + file_path with open(file_path, "r", encoding='utf-8') as f : content = f.read() # 读取文件 # 转成yaml格式的 return yaml.load(content, Loader=yaml.FullLoader) # 测试代码,用完可以删除 if __name__ == '__main__': # 绝对路径使用时不方便,如果不存在D盘,或许不存在这个路径,脚本无法执行 # D:\java\ApiAutoTest\zonghe\ 这一段的路径通过脚本自动获取 url = read_ini(r"dataenv\env.ini", "url") print(url) db = read_ini(r"dataenv\env.ini", "db") print(db) print(read_yaml(r"datacase\register_fail.yaml")) |
欢迎光临 菁英科技(卓目鸟学苑)- 专注软件测试菁英教育 (http://www.zmnxy.com/) | Powered by Discuz! X3.4 |