zoukankan      html  css  js  c++  java
  • pytest 数据驱动

    数据驱动:

    将代码与数据进行分离,单纯由数据组成文件,再由文件来驱动关键字,最终实际整个自动化的流程

    读取到数据,基于固定格式的数据内容进行拼接 拼接后的内容作为关键字所需要的参数 进行传入,从而执行对应

    的关键字,再将结果与预期结果进行对比,从而获得单条测试用例是否通过的结果

    有时候多个用例 比如说多个需要登录的用例,共同点是,它们的测试步骤一模一样的,只是

    输入的数据不同,要检查的输出数据不同。

    这批测试用例,就是典型的可以用 数据驱动 方式进行自动化用例。

    如果有一批测试用例,具有 相同的测试步骤,只是测试参数数据不同。

    自动化测试时,把数据从用例代码中 分离 开来,以后增加新的测试用例,只需要修改数据。

    这就是数据驱动。

    pytest 用例 的 数据驱动格式,只需如下定义 pytest -s 运行:

    import pytest
    # 引入公共逻辑代码的脚本
    from lib.webui import loginAndCheck

    class Test_错误登录:
    # 数据驱动 装饰器:pytest.mark
    @pytest.mark.parametrize('username,password,expectedalert,testName',[
    (None,'888888888','用户名不能为空。','不填账号,正确的秘密'),
    ('13409222736',None,'密码不能为空。','正确的账号,不填秘密'),
    ])

    # 创建一个函数 对数据驱动的数据遍历引用 调用两条用例
    def test_UI_C001_002(self,username,password,expectedalert,testName):

    # 调用公共逻辑代码 传入数据驱动的值
    print(testName)
    alertText = loginAndCheck(username,password)
    assert alertText == expectedalert

    缺点

    如果要生成测试报告的话就不能分辨出是那条用例出的错误 

  • 相关阅读:
    JavaScript&jQuery获取url参数方法
    判断手机横屏和竖屏方向
    JS等比例缩放图片,限定最大宽度和最大高度
    某个时间周期的头天或尾天
    使用阿里云来搭建视频直播服务
    自定义View系列教程01--常用工具介绍
    C++程序设计教材目录思维导图(增C++Primer)
    Netflix OSS、Spring Cloud还是Kubernetes? 都要吧!
    php实现希尔排序
    php实现斐波那契数列
  • 原文地址:https://www.cnblogs.com/sunzzc/p/13344955.html
Copyright © 2011-2022 走看看