超详细,自动化测试实战-获取配置文件信息(实例源码)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

配置文件的类型

在python自动化测试中,为了减轻测试脚本维护过程中工作量,我们可以将一些常用的变量或者参数值放置在配置文件中。当我们需要修改某个变量的值时,只需修改配置文件中的选项值就可以实现这一目的。

除了可以减轻测试脚本在维护过程中的工作量,使用配置文件还有如下优点:
减少对源代码的改动点,提高代码的容错率;
提高了工作效率;

在自动化测试中,经常使用的配置文件类型包括如下两类。
分别为:
①.ini
②.yaml

其中.ini配置文件的书写格式如下:

[section1]
option1=value1
option2=value2......[section2]
option3=value3
option4=value4......

【示例】

[log]
name=login_test
level=INFO
file_ok=True
file_name=login_test.log

.yaml配置文件的书写格式如下(一般使用字典的方式进行书写):

section1:option1: value1option2: value2
......section2:option3: value3option4: value4
......

【示例】

log:name: login_testlevel: WARNINGfile_ok: Falsefile_name: mylog.log

【说明】在使用.yaml配置文件时,option与value之间需要有一个空格

读取配置文件信息的操作流程

1、针对.ini配置文件,直接使用python自带的configparser模块读写配置文件

导入configparser模块:from configparser import ConfigParser;
实例化ConfigParser类:config = ConfigParser();
读取配置文件:config.read(“配置文件名称.ini”,encoding=“utf-8”);
获取配置文件中某一option的值:val = config.get(“section名称”,“option名称”);
获取指定section中的所有option:opts = config.options(“section名称”);
获取当前配置文件中的所有section:secs = config.sections();

【说明】

支持读取出的数据为bool、int和float,需要将get()函数变更为:
getboolean(section,option);
getint(section,option);
getfloat(section,option);

2、针对.yaml配置文件,需要手动安装pyyaml:pip install pyyaml
引入yaml模块:import yaml;
打开yaml文件;
调用yaml.load函数加载文件对象,返回值为dict;

【示例】

import yamlwith open("log.yaml",encoding="utf-8") as fs:datas = yaml.load(fs,yaml.FullLoader)passfor key,value in datas.items():print(key)print(value)

代码实现

from configparser import ConfigParserconfig = ConfigParser()
# 读取配置文件
config.read("log.ini",encoding="utf-8")
# 读取配置文件中的某一项值
val = config.get("log","name")
print(val)# 获取当前的section
secs = config.sections()
print(secs)# 获取指定section中的所有options
opts = config.options("log")
print(opts)

封装读取配置文件的操作

由于读取配置文件信息的操作流程相对比较固定,因此我们可以其封装成一个类。当我们需要使用时,只需引入该模块即可。

from configparser import ConfigParser
import osclass HandleConfig(ConfigParser):def __init__(self,file_path):super().__init__()# 将配置文件读入内存self.read(file_path,encoding="utf-8")passpass# 在实际调用时,log.ini可以根据个人喜好进行自定义
file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"log.ini")# 实例化配置类时,需要指定配置文件的名称
handleConfig = HandleConfig(file_path)
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每个人的成功都不是偶然,背后都是持之以恒、不懈奋斗的付出。让心中的梦想燃烧起来,勇往直前,无论前方多少困难与挑战,都要坚定地追寻,不断奋斗。

努力奋斗,不是为了取悦他人,而是为了超越自己;每一次努力都是对未来的投资,每一次坚持都是通向成功的钥匙。不畏困难,扬起帆船,勇往直前,开启属于自己的辉煌之路!

在逐梦的路上,不要畏惧失败与挫折,因为它们是成功的必经之路;坚持付出,相信自己的才华与能力,终将用汗水铸就辉煌,书写属于自己的传奇人生!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/66493.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openGauss学习笔记-38 openGauss 高级数据管理-游标

文章目录 openGauss学习笔记-38 openGauss 高级数据管理-游标38.1 语法格式38.2 参数说明38.3 示例 openGauss学习笔记-38 openGauss 高级数据管理-游标 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游…

如何实现Vue路由的二级菜单

目录 Vue路由(一、二级路由) 一级路由配置 二级路由配置 Vue中展示二级路由的默认模块/二级路由默认显示 Vue路由,二级路由及跳转 如何用vue实现二级菜单栏 ◼️ 相关参考资料 当朋友们看到这个文章时想必是想要了解vue路由二级菜单相…

【javaweb】学习日记Day2 - JavaScript入门

目录 一、引入方式 1、内部脚本 2、外部脚本 二、基础语法 1、输出语句 2、定义变量类型 3、数据类型 4、运算符 (1)类型转换 5、函数 (1)方法一 (2)方法二 三、对象 1、Array数组 &#x…

ATRank: An Attention-Based User Behavior Modeling Framework for Recommendation

Abstract 异构用户行为 我们的模型考虑了【异构用户行为】,我们将所有类型的行为投射到多个潜在的语义空间中,在这些语义空间中,行为之间可以通过自关注产生影响。 异构用户行为(Heterogeneous User Behavior)指的是在一个系统、平台或社交网络中,不同用户在行为模式、兴…

【JavaWeb】实训的长篇笔记(下)

文章目录 八、功能实现1、注册功能2、登录功能3、问题说明4、首页数据显示5、后台管理 八、功能实现 1、注册功能 jsp:能够在页面中把数据动态化,jsp和html在元素标签上是无区别的,区别是html中写上java代码就成了jsp文件。filename.jsp。 需…

PPT颜色又丑又乱怎么办?

一、设计一套PPT时,可以从这5个方面进行设计 二、PPT颜色 (一)、PPT常用颜色分类 一个ppt需要主色、辅助色、字体色、背景色即可。 (二)、搭建PPT色彩系统 设计ppt时,根据如下几个步骤,依次选…

年之年的选择,组装版

组件&#xff1a;<!--* Author: liuyu liuyuxizhengtech.com* Date: 2023-02-01 16:57:27* LastEditors: wangping wangpingxizhengtech.com* LastEditTime: 2023-06-30 17:25:14* Description: 时间选择年 - 年 --> <template><div class"year-range-pick…

现代无人机技术

目录 1.发展 2.应用领域 3.对战争的影响 4.给人类带来的福利 5.给人类带来的坏处 1.发展 无人机的发展可以分为以下几个关键步骤&#xff1a; 1. 早期试验和研究&#xff1a;20世纪初&#xff0c;飞行器的概念开始出现&#xff0c;并进行了一些早期的试飞和实验。这些尝试包…

mac安装nvm管理工具遇到的问题和解决方法

nvm 是一款可以管理多版本node的工具&#xff0c;因为是刚买没多久的电脑之前用的都是windows&#xff0c;昨天折腾了一下午终于倒腾好了 第一步&#xff1a; 卸载电脑已有的node&#xff1b;访问nvm脚本网址&#xff0c;另存为到电脑上任何目录&#xff0c;我是放在桌面上的…

学习笔记整理-JS-06-函数

一、函数基本使用 1. 什么是函数 函数就是语句的封装&#xff0c;可以让这些代码方便地被复用。函数具有"一次定义&#xff0c;多次调用"的优点。使用函数&#xff0c;可以简化代码&#xff0c;让代码更具有可读性。 2. 函数的定义和调用 和变量类似&#xff0c;函…

webpack性能优化

代码分离 代码分离是webpack中一个非常重要的特性&#xff1a; 它主要的目的是将代码分离到不同的bundle中&#xff0c;之后我们可以按需加载&#xff0c;或者并行加载这些文件比如默认情况下&#xff0c;所有的JavaScript代码&#xff08;业务代码、第三方依赖、暂时没有用到…

Netty:channel的事件顺序

服务端&#xff1a;正常启动的channel事件顺序 REGISTERED -> BIND -> ACTIVE 客户端&#xff1a;正常启动的channel事件顺序 REGISTERED -> CONNECT -> ACTIVE 服务端&#xff1a;接收到客户端连接&#xff0c;为客户端分配的channel的事件顺序 REGISTERED…