文章图片
做过自动化测试的朋友经常听说过 数据驱动 (或者面试的时候被问到过)。 什么是数据驱动?
如果有一批测试用例,具有 相同的测试步骤 ,只是 测试参数数据不同 。
自动化测试时,把测试数据从用例代码中 分离 开来,以后增加新的测试用例,只需要修改数据。
这就是数据驱动,通俗点也叫参数化。
文章图片
举个例子:
某系统 登录功能的测试,有一批测试用例,其执行的步骤几乎都是一样的,只是使用的测试参数不同。
比如:
不输入用户名,输入正确密码
输入比正确用户名后面少一个字符,输入正确密码
输入比正确用户名后面多一个字符,输入正确密码
输入比正确用户名前面少一个字符,输入正确密码
输入比正确用户名前面多一个字符,输入正确密码
输入正确用户名,不输入密码
输入正确用户名,输入比正确密码后面多一个字符
这种情况可以使用 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就知足了…
【python自动化测试|python自动化之数据驱动 - data driven(参数化)】35岁之后软件测试工程师靠什么养家?我能继续做测试!
推荐阅读
- 软件测试|职场碎碎念|23岁做了四年幼师,我真的受不了了。
- 测试|软件测试简单经验心得分享
- python|分享5个你不知道的软件测试小神器(赶紧收藏起来)
- 软件测试|使用allure展示jmeter测试报告
- chrome|Selenium Chrome驱动安装(windows系统)
- 软件测试|2021年软件测试从入门到进阶资源合集免费分享(案例+视频+笔记+源码)
- 软件测试|day22-使用JMeter发送请求与参数化
- Python自动化测试|【Python自动化测试17】openpyxl二次封装与数据驱动
- vue|2022 年最新前端 Vue 项目重构总结