首页 > 其他分享 >自动测试脚本----项目文件结构介绍(common,Data,Log,Case)

自动测试脚本----项目文件结构介绍(common,Data,Log,Case)

时间:2024-07-04 14:58:42浏览次数:13  
标签:Case 文件 Log 登录 自动测试 py 测试用例 日志 文件夹


一、总体框架介绍

  我们先看一下一般项目的总体结构:

  

 

  • 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方式如下图:

 


标签:Case,文件,Log,登录,自动测试,py,测试用例,日志,文件夹
From: https://www.cnblogs.com/ljkuailexuexi/p/18283820

相关文章

  • 日志自动提取---七牛Logkit&观星应急工具
    目录七牛Logkit(Windows&Linux&Mac等)下载:文档:windows配置过程:1-下载2-修改logkit-community基本配置3-启动!4-浏览器访问5-添加配置吧观星应急工具 (Windows系统日志)七牛Logkit(Windows&Linux&Mac等)--简单直观,   专业版的功能更多...支持的数......
  • Log4Net配置详解及输出自定义消息类示例
    1.简单使用实例1.1添加log4net.dll的引用。  在NuGet程序包中搜索log4net并添加,此次我所用版本为2.0.17。如下图:1.2添加配置文件  右键项目,添加新建项,搜索选择应用程序配置文件,命名为log4net.config,步骤如下图:1.2.1log4net.config简单配置示例  下面是一个简单的......
  • [分布式网络通讯框架]----MprpcController以及Logger类
    在calluserservice.cc中,使用UserServiceRpc_Stub类的时候,我们最终调用形式为:stub.Login(&controller,&request,&response,nullptr);注意到其中有一个controller对象,这个是由MprpcController类定义出来的对象,那么这个类的作用是什么呢?首先我们来看Login()的底层实现,传入......
  • logstach 8.6.2输出到mongo 6
     logstach官网下载:https://www.elastic.co/cn/downloads/past-releases1、查看logstach有没有自带输出到mongo的插件,到logstach安装目录/bin下cd/data/logstash-8.6.2/bin/./logstash-pluginlist--verbose2、没有自带输出到mongo的插件就安装./logstash-plugininsta......
  • 【Abaqus Case】2D弹塑性接触分析
    2D弹塑性-接触分析本案例属于材料非线性+边界条件非线性问题描述前处理材料*Material,name=steel*Density7.8e-09,*Elastic210000.,0.3*Plastic1220.,0.2440.,1.网格划分CPS4I单元(平面应力4节点四边形双线性非协调单元),涉及到接触分析,因此从面网格要......
  • LeetCode-刷题记录-滑动窗口合集(本篇blog会持续更新哦~)
    一、滑动窗口概述滑动窗口(SlidingWindow)是一种用于解决数组(或字符串)中子数组(或子串)问题的有效算法。SlidingWindow核心思想:滑动窗口技术的基本思想是维护一个窗口(一般是一个子数组或子串),该窗口在数组上滑动,并在滑动过程中更新窗口的内容。通过滑动窗口,可以在(O(......
  • 2024 4th International Conference on Electronic Information Engineering and Comp
    20244thInternationalConferenceonElectronicInformationEngineeringandComputerTechnologyhttp://www.eiect.org/截稿日期:2024-10-17通知日期:2024-10-21会议日期:2024-11-9会议地点:Shenzhen,China届数:4Withtherapiddevelopmentofscienceandtechnolog......
  • golang 打印类型和switch case选择
    因为需要打印传输信息,要用到pion的stats,而stats返回报告的又包含多个type,对于不同type有不同的数据统计,所以需要打印类型和switchcase针对于不同的type执行不同的命令。针对于返回变量类型,golang采用reflect包,对于变量valua,可以利用reflect.TypeOf(valua)返回变量类型,而这只能做......
  • WPF OpenFielDialog Filter InitialiaDirectory Title
    //xaml<Windowx:Class="WpfApp189.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • q-analog 和 q-binomial
    模拟赛四道题三道是计数,不得不来看一看这个。当一个表达式\(f(q)\)满足\(\lim_{q\to1}f(q)=c\)时,称它是\(c\)的\(q-\)analog。例如\([n]_q=\frac{1-q^n}{1-q}=(1+q+q^2+\cdots+q^{n-1})\)是\(n\)的\(q-\)analog,因为它满足上述定义。一个自然数\(n\)的\(q-\)fact......