关键字驱动和数据驱动

首先有一点大家自己要知道,一个简单的东西非得说来别人听不懂,来显得自己的高大上,不管哪个行业多是如此。只要自己搞懂了,自己也变成了那部分人。

什么叫做数据驱动?

答:所谓数据驱动就是同一段代码,参数一样,但是函数内部做了处理,所以输入不同的数据(值),得到不同的结果。比如果输入一个名字,你输入张三得到的结果是帅哥,你输入小雨得到的结果是美女,那这个就是数据驱动,就这么简单,代码还是最开始写的代码并有什么改变,只是输入值不一样结果也不一样,代码内部有分支选择而已

什么叫做关键字驱动?

答:所谓关键字驱动就是将数据驱动里的数据改为关键字而已。我们数据驱动是程序读取数据进行执行,那么是哪些代码模块调取的数据呢?数据驱动和关键字驱动在测试里说的最多,那我们就以UI自动化中界面元素定位为例来说明,我改变定位器的值,后续的代码没有任何改变,但是得到的值完全不一样,通过改变关键字,从而改变数据的输入位置,这就叫做关键字驱动,数据驱动结果是驱动代码得到不同的数据,关键字驱动结果是驱动代码得到不同代码

class loginpage(basepage):
    # 定位器
    userloc = (By.XPATH, "//*[@id='ajax_login_form']/div/div[1]/input")
    pwdloc = (By.XPATH, "//*[@id='ajax_login_form']/div/div[2]/input")
    buttonloc=(By.XPATH, "//*[@id='ajax_login_form']/div/div[3]/a")
    zhuce=(By.XPATH, "//*[@id='ajax_login_form']/div/div[5]/div/a[1]")
   
    #   打开页面
    def open(self):
        self._open(self.url)

    #   输入关键词
    def user_loc(self,user):
        self.find_element(*self.userloc).clear()
        self.find_element(*self.userloc).send_keys(user)

    #   点击搜索按钮
    def pwd_loc(self,pwd):
        self.find_element(*self.pwdloc).clear()
        self.find_element(*self.pwdloc).send_keys(pwd)
    
    #定位登录按钮
    def login_submit(self):
        self.find_element(*self.buttonloc).click()
    
    #定位注册按钮    
    def zhuce_submit(self):
      self.find_element(*self.zhuce).click()
墨者看遍天下皆是丹青,测试看尽万物皆是bug
原文地址:https://www.cnblogs.com/striver-dl/p/14184052.html