一、数据驱动:
第一次遇到这个名字觉得很高大上,等了解自动化后发现这4个字分解一下,就很好理解,拿个登录自动化脚本举例子(登录接口存在用户名和密码字段)
我们验证一个登录功能,需要验证常规和异常情况
'''用户名、密码为空登录'''
'''用户名正确,密码为空'''
'''用户名为空,密码正确'''
'''用户名密码正确 '''
(1)、驱动:上面4种情况,我们只要在请求的body信息里面把用户名和密码对应的值做参数化,然后把这个方法进行封装(下面的user_login就是一个封装好的方法),再把4种业务的数据写入,就实现了数据驱动,这里的驱动其实也就是user_login这个方法,其他方法调用这个方法就可以实现一个测试点
class loginTest(unittest.TestCase): def setUp(self): # 封装用户登录 def user_login(self, username, password): '''编写你的接口脚本''' def test_login1(self): '''用户名、密码为空登录''' self.user_login(null, null) def test_login2(self): '''用户名正确,密码为空''' self.user_login(username, null) def test_login3(self): '''用户名为空,密码正确''' self.user_login(null, password) def test_login4(self): '''用户名密码正确 ''' self.user_login(username, password) if __name__ == '__main__': unittest.main()
(2)、数据怎么来--如果你是一个领导者,手底下人员可能没有代码基础怎么办,我们通过定义规则,别人不会代码,只要手动输入数据就能执行自动化(excel,txt,csv都可以),如果一个人工作,个人觉得直接代码里加个字典也很方便,搞excel这些还是很麻烦的
二、关键字驱动:(比起数据驱动,关键字驱动更加清晰,易于多人合作)
关键字驱动:数据也封装了,封装更完全--假设上面登录四种情况用一个字典概括下写在代码里,测试人员只要在excel里面输入正确的用户名和正确的密码,这四个情况就会执行,这样是不是方便很多?
关键字驱动本质:只要输入具体的东西,就能得到你想要的值,如何得到值的逻辑全部都在代码里写好了