接口自动化框架搭建(七)--数据驱动,关键字驱动

一、数据驱动:

第一次遇到这个名字觉得很高大上,等了解自动化后发现这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里面输入正确的用户名和正确的密码,这四个情况就会执行,这样是不是方便很多?
关键字驱动本质:只要输入具体的东西,就能得到你想要的值,如何得到值的逻辑全部都在代码里写好了

原文地址:https://www.cnblogs.com/heng-xin/p/8038744.html