菁英科技(卓目鸟学苑)- 专注软件测试菁英教育

标题: 接口测试_白李娜_20210322 [打印本页]

作者: つ兜兜里没糖    时间: 2021-3-22 19:55
标题: 接口测试_白李娜_20210322
本帖最后由 つ兜兜里没糖 于 2021-3-22 19:55 编辑

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):
    '''
读文件配置,根据keyvalue
:param file_path:  文件路径
:param key:  key
:return:  key对应的value
    '''
# configparserPython中专门读配置文件的模块
    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