python自动化之数据驱动 - data driven(参数化)

在这里插入图片描述

做过自动化测试的朋友经常听说过 数据驱动 (或者面试的时候被问到过)。

什么是数据驱动?

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

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

这就是数据驱动,通俗点也叫参数化。

在这里插入图片描述

举个例子:

某系统 登录功能的测试,有一批测试用例,其执行的步骤几乎都是一样的,只是使用的测试参数不同。

比如:

不输入用户名,输入正确密码

输入比正确用户名后面少一个字符,输入正确密码

输入比正确用户名后面多一个字符,输入正确密码

输入比正确用户名前面少一个字符,输入正确密码

输入比正确用户名前面多一个字符,输入正确密码

输入正确用户名,不输入密码

输入正确用户名,输入比正确密码后面多一个字符

这种情况可以使用 hytest用例 的 数据驱动格式,只需如下定义即可

class c00001: 

 # ddt_cases 里面每个字典元素 定义一个用例的数据 # 其中: name是该用例的名称, para是用例的参数 ddt_cases = [

        {

            'name' : '登录 - 00001',

            'para' : ['user001','888888']

        },

        {

            'name' : '登录 - 00002',

            'para' : ['user0012','888888']

        },

        {

            'name' : '登录 - 00003',

            'para' : ['ser001','888888']

        }

    ]

#调用时, # hytest 框架执行时,会自动创建出3份用例实例 # 并且在调用 teststeps时,把每个用例的参数设置在 self.para 中 # 用例代码 可以直接从 self.para 中获取参数

defteststeps(self):

username, password = self.para # 取出参数

这样,我们就不需要定义那么多的测试用例类了, 而且测试数据也可以集中存放。

项目python文件格式

class DD0002:

    name= '测试用例 DD0002'

      def setup(self):

          open_browser()

          wd= GSTORE['wd']

          mgr_login()

    def teardown(self):

         INFO('清除初始化')

   def teststeps(self):

         STEP(1, '添加警情')

         wd= GSTORE['wd']

在这里插入图片描述

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注我的微信公众号【伤心的辣条】免费获取~

送上一句话:

世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。

我的学习交流群:902061117 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

好文推荐:

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

测试岗反复跳槽,跳着跳着就跳没了…

软件测试人员该学习 Python 的七个理由

App公共测试用例梳理

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

35岁之后软件测试工程师靠什么养家?我能继续做测试!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值