首先有一点大家自己要知道,一个简单的东西非得说来别人听不懂,来显得自己的高大上,不管哪个行业多是如此。只要自己搞懂了,自己也变成了那部分人。
什么叫做数据驱动?
答:所谓数据驱动就是同一段代码,参数一样,但是函数内部做了处理,所以输入不同的数据(值),得到不同的结果。比如果输入一个名字,你输入张三得到的结果是帅哥,你输入小雨得到的结果是美女,那这个就是数据驱动,就这么简单,代码还是最开始写的代码并有什么改变,只是输入值不一样结果也不一样,代码内部有分支选择而已
什么叫做关键字驱动?
答:所谓关键字驱动就是将数据驱动里的数据改为关键字而已。我们数据驱动是程序读取数据进行执行,那么是哪些代码模块调取的数据呢?数据驱动和关键字驱动在测试里说的最多,那我们就以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()