配置模块引入,接口自动化框架模型搭建

配置模块的引入

需求背景:

进行自动化测试的时候会有很多的设置常量需要操作。

比如 baseurl,db连接数据,测试用用户名,管理员账号,token,auth之类

比较好的方式是使用一个静态文件保存下来,编写方法固定读取

涉及第三方库 configparser.ConfigParser

step1  创建一个配置文件解析器对象

conf  = configParser()

step2 将配置文件配置到解析器对象中

conf.read("filename.ini",encoding='utf-8'

step3 读取相关的配置内容

#方法1 get: 读取的所有内容都会当成字符串来处理
res = conf.get(‘log’,‘filename’)
print(res)
#方法二 getint 专门用来读取数值类型的数据 int
res = conf.getint("mysql",'port')
#方法三 getfloat 专门用来读取浮点数 float
res3 = conf.getfloat("mysql","n")
#方法四 getboolean 专门用来读布尔值 False false都支持
res4 = conf.getboolean()               

配置文件内部编写格式

[log]
level = DEBUG
fh_level = WARNING
filename = all.log
sh_level = DEBUG

[mysql]
host = 127.0.0.1
port = 3306
n = 17.01
b = 89
b1 = True
b2 = False
b3 = true
b4 = false
addicated= 阿迪

dict1 = {"a":1,"b":666}

配置文件的写入操作(基本不用)

第一步创建一个配置文件解析器对象
conf = ConfigParser()
第二 将配置文件读取搭配配置文件解析器对象中
conf.read('配置文件',encoding='utf-8')
第三 配置文件内容写入
conf.write(fp=open("lemon01.ini", "w", encoding="utf-8"))

完整代码

from configparser import ConfigParser


class HandleConfig(ConfigParser):
    """配置文件解析器类的封装"""

    def __init__(self, filename):
        super().__init__()
        self.read(filename, encoding="utf8")


conf = HandleConfig("config.ini")

res = conf.get("mysql", "port")
print(res)

yaml类型文件形式存取数据

此处只记述读取,yaml类型文件做测试用例进行数据驱动留作后面更新内容。

import yaml
# yaml格式文件的操作模块: pyyaml
# 安装命令: pip install pyyaml
with open("lemon.yaml", "r", encoding="utf-8") as f:
    file = yaml.load(f, Loader=yaml.FullLoader)
    print(file)

框架模型的搭建

搭建自动化测试框架首先要考虑好技术的选型,

从几个大的层面来去构想需要准备哪些模块,哪些功能。

举个例子:

excel读取 + ddt + unittest + log + beautifulReport/HTMLtestrunnerReport + jenkins

根据应用到的技术逐一分析最终成型的框架结构

--用例数据 xlsx 文件

--excel操作模块

--日志模块

--ddt数据驱动模块

--测试用例模块

--测试运行程序入口文件(启动文件

输出

日志记录文件

测试报告文件

之后针对项目文件,按功能做分层设计目录,大致分为几类

1,自己封装的一些模块,common下存储

2,测试用例模块,testcases存储

3,使用到的第三方库文件 lib下存储

4,测试报告文件 reports

5,log记录文件

6,测试启动入口  run_test.py

image.png

如图所示,之后就可以愉快的编写用例类实现了~

原文地址:https://www.cnblogs.com/addicated/p/13194398.html