什么是数据驱动?
如果有一批测试用例,具有 相同的测试步骤 ,只是 测试参数数据不同 。
自动化测试时,把测试数据从用例代码中 分离 开来,以后增加新的测试用例,只需要修改数据。
这就是数据驱动,通俗点也叫参数化。
举个例子:
某系统 登录功能的测试,有一批测试用例,其执行的步骤几乎都是一样的,只是使用的测试参数不同。
比如:
不输入用户名,输入正确密码
输入比正确用户名后面少一个字符,输入正确密码
输入比正确用户名后面多一个字符,输入正确密码
输入比正确用户名前面少一个字符,输入正确密码
输入比正确用户名前面多一个字符,输入正确密码
输入正确用户名,不输入密码
输入正确用户名,输入比正确密码后面多一个字符
这种情况可以使用 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 # 取出参数
这样,我们就不需要定义那么多的测试用例类了, 而且测试数据也可以集中存放。
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岁之后软件测试工程师靠什么养家?我能继续做测试!