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

    什么叫数据驱动?

    登录用例 -》不用的用户名登录,但是自动化化脚本一样,虽然脚本相同,步骤相同,但是不同的用户名登录得出的数据是不一样的,于是就有了数据驱动,就是数据的改变驱动自动化测试的执行导致测试结果的不同。 ->这个就是数据驱动,数据的改变从而驱动自动化测试的执行,可以理解为参数化的应用。

    unitest的数据驱动 和 pytest的数据驱动:

    • unitest单元测试,无自带的数据驱动
    • pytest的数据驱动: parameterized做参数化

    第一:ddt 

      由于unittest单元测试框架,无自带的数据驱动,如果在做数据参数化时,脚本一样,只有数据不一样,再重新编写一样的测试用例,未免会加大代码的重复量和运行时间,所以可以引入ddt做数据驱动

    一个简单的数据驱动测试:

      为了创建数据驱动测试,需要在测试类上使用@ddt装饰符,在测试方法上使用@data装饰符。@data装饰符把参数当作测试数据,参数可以是单个值、列表、元组、字典。对于列表,需要用@unpack装饰符把元组和列表解析成多个参数。

    单个参数:@data(1,2,3)代表我们传入的参数,每次传入一个值,所以会传入三次

    多个参数:元组、字典,需要@data + @ unpack 一起使用

    第二:pytest 的数据驱动:parameterized做参数化

    • 需要注意的是:参数化里的传入的名称要和传入到函数的名称保持一致(如图中:绿色框住的两个地方)
    • pytest的数据驱动与ddt相比,比较方便和简洁,直接parametrize(不分单个参数还是多个参数)

    参考:https://blog.csdn.net/wushuai150831/article/details/78453549

  • 相关阅读:
    ssh 的参数 -o + 检查是否是无密码访问
    Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号
    Linux 下jJKD,Tomcat部署
    [转]深入理解Java的接口和抽象类
    Java 培训笔记
    十三、MySQL性能优化
    十二、MySQL用户管理
    十一、MySQL触发器
    十、MySQL视图
    九、MySQL存储过程和函数
  • 原文地址:https://www.cnblogs.com/cuitang/p/10618727.html
Copyright © 2011-2022 走看看