zoukankan      html  css  js  c++  java
  • pytest自动化3:fixture之conftest.py实现setup

    出处:https://www.cnblogs.com/yoyoketang/p/9390073.html

    前言:

    前面一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景:

    用例1需要先登录,用例2不需要先登录,用例3需要先登录。很显然上篇学到的就不合适了,这就是本篇学习的目的,自定义测试用例的预置条件。

    一、看个实例

    通过以上实例,来了解到fixture特点:

    fixture(scope = "function", params=None, autouse=False, ids=None, name=None)

    1.  fixture使用装饰器标记功能

    2.  arg scope:scope有四个等级参数----"function" (默认), "class", "module" or "session"

         arg params:一个可选的参数列表,它将导致多个参数调用fixture功能和所有测试使用它

         arg autouse:如果为True,则为所有测试激活fixture func 可以看到它。 如果为False(默认值)则显式需要参考来激活fixture

         arg ids:每个字符串id的列表,每个字符串对应于params 这样他们就是测试ID的一部分。 如果没有提供ID它们将从params自动生成

         arg name:fixture的名称。 这默认为装饰函数的名称。 如果fixture在定义它的同一模块中使用,夹具的功能名称将被请求夹具的功能arg遮蔽; 解决这个问题的一种方法是将装饰函数命名

                            “fixture_ <fixturename>”然后使用”@ pytest.fixture(name ='<fixturename>')。

    二、conftest.py配置

    1.原因说明

              上面一个案例是在同一个.py文件中,多个用例调用一个登陆功能,如果有多个.py的文件都需要调用这个登陆功能的话,那就不能把登陆写到用例里面去了。
    此时应该要有一个配置文件,单独管理一些预置的操作场景,pytest里面默认读取conftest.py里面的配置。

    conftest.py配置需要注意以下点:

    • conftest.py配置脚本名称是固定的,不能改名称
    • conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件
    • 不需要import导入 conftest.py,pytest用例会自动查找

    2.实例参考

    ok。

  • 相关阅读:
    autojspro常用的代码和公共函数搜集整理,史上最全最完整
    C# List类型复制克隆副本以及插入数据,按照某个字段进行排序,去掉某些不符合要求的数据
    C# 将double类型值截取小数点后两位或者多位
    Excel表格中引用另外一格数据。写sql用的
    最全的Resharper快捷键汇总
    easyui datagrid没有ID情况下,easyui datagrid 删除行信息方法
    C# 通过JObject解析json对象
    c#中string字符串转为json与json转对象
    前端js拼接Json字符串,全
    Java+IDEA环境配置整合
  • 原文地址:https://www.cnblogs.com/cudy/p/10485038.html
Copyright © 2011-2022 走看看