自动测试脚本----项目文件结构介绍(common,Data,Log,Case)
一、总体框架介绍
我们先看一下一般项目的总体结构:
- Automation:项目工程文件
- Common:存放一些封装的公共函数,可在已添加的py文件中追加函数和类,也可新增py文件和包来新增公共函数。新增包时请注意不要新增文件夹,新增文件夹的话,在文件夹下新增的py文件无法import,能import只有包。
- Data:存放一些数据文件,比如xml文件、设备的一些固定信息以及连接netconf所需信息等
- Log:存放日志,执行用例后自动生成,日志文件的命名规则和日志文件内容格式可再Common中的MyLogging中自定义[最好不要调整]。运行原理为检测是否存在当前日期的日志文件,如果不存在则新增,如果存在则在对应日期的文件中追加内容。
- Report:存放测试报告
- TestCase:存放一些测试用例文件,符合pytest框架命名规则即可被收集为测试用例,可按照初始化或模块划分等方式来划分不同的py文件或者包
- conftest.py:pytest框架全局参数固定搭配文件,用于存放执行所有测试用例文件之前所需要进行的初始化操作以及执行完成测试用例文件之后的一些tearDown的操作
- Run.py:测试用例执行文件,在main中添加所需要的的参数点击执行即可
二、每个模块详细介绍
1、Common
com_method.py模块主要存放公用的函数,比如:Log配置的函数;计算数据等;在测试用例中常使用到的函数;
注:下图是log配置函数部分截图:
device_login.py模块是包含登录设备的所有函数,比如登录2300,登录ssh;
注:这里面不包括[登录netconf];因为基本上所有测试用例执行之前都会登录netconf就是一个前置条件,所以我们把登录netconf函数放在conftest.py文件中;
下图为登录ssh截图:
netconf.py模块,主要是登录不同端口所需要的数据,比如:登录ssh、2300、netconf都需要不同的用户名,密码,端口等;
2、Data
该文件夹主要存放各种数据;case中要取用这些数据,再写一个函数来实现取用的功能即可,这里不详细展示了;
3、Log
log这个文件夹,我们不需要手动存放数据进去,而是测试用例执行过程中产生的日志,自动存放在该文件夹下;
那么怎么才能让日志自动存在这个文件夹内呢???
这就需要在Commom文件夹---com_method.py--MyLogging这个类下所配置;跟日志相关的东西,都在这里配置;
我们可以观察一下生成的日志结构,然后来反推,需要配置一些什么东西;
根据上图结构,具体配置代码如下:
在测试用例中调用log方式如下图: