Python自动化测试中结合unittest与YAML配置文件的实践

木白
木白
发布时间:2026-10-13 | 3人浏览过
原创

本文解析在Python自动化测试中,如何利用unittest框架结合YAML配置文件管理测试数据。通过示例展示如何安装PyYAML、安全读取YAML文件以避免警告,并将请求URL和参数统一配置,从而减少重复代码并提升用例维护效率。

Python自动化测试中结合unittest与YAML配置文件的实践

本文详细解析在Python自动化测试中结合unittest框架与YAML配置文件的使用方法,通过具体示例代码展示操作流程,为相关学习与工作提供参考。

在编写unittest自动化用例时,若多个用例涉及相同的请求地址但参数不同,直接硬编码会导致代码冗余且难以维护。此时引入配置文件,将公共参数统一管理,可有效避免重复代码,并简化后期维护工作。

本例选用YAML格式进行配置,首先需安装对应的Python库,执行命令pip install yaml即可完成安装。

安装完成后,在脚本中通过import yaml导入模块。具体语法细节可参考官方入门教程。

YAML配置文件的引入与安装

以下通过具体示例说明配置过程:

基于YAML的查询教师列表用例配置

以“查询教师列表”用例为例,该场景下请求地址固定,但每次请求参数不同。我们将请求地址配置在yaml文件中。

第一步,创建yaml文件并录入请求的URL地址。

读取URL信息与安全加载

第二步,在代码中读取该url信息。


class teaTimeData(unittest.TestCase):
  def setUp(self):
    print("-------教师用例开始执行-------")
    self.file = open(get_path() + "/data/count_query.yaml","r",encoding="utf-8")
    self.data = yaml.load(self.file,Loader=yaml.FullLoader)
    self.file.close()
    self.base_url = self.data["query"].get("url")

注意:若直接使用yaml.load(),可能会收到关于安全性的警告。建议参考PyYaml文档中关于yaml.load(input)弃用说明的处理方式,通常推荐使用yaml.FullLoader。

编辑与执行测试用例

第三步,编辑具体的测试用例代码。


def test_01(self):
    headers ={
      "frontcode": "frontcode",
      "token": user_token
    }
    params={
      "pageSize": "5"
    }
    r = requests.get(url = self.query_url,headers = headers,params = params)
    self.assertEqual(r.status_code,200)

继续编写其他用例时,只需在yaml文件中配置不同的参数值即可,无需修改代码逻辑。

最后,执行所有配置好的用例。

以上就是本文的全部内容,希望能为读者的学习和工作提供帮助,欢迎继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表