关键字驱动和数据驱动

摘要:
我们数据驱动是程序读取数据进行执行,那么是哪些代码模块调取的数据呢?

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

什么叫做数据驱动?

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

什么叫做关键字驱动?

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

classloginpage(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]")
   
    #打开页面
    defopen(self):
        self._open(self.url)

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

    #点击搜索按钮
    defpwd_loc(self,pwd):
        self.find_element(*self.pwdloc).clear()
        self.find_element(*self.pwdloc).send_keys(pwd)
    
    #定位登录按钮
    deflogin_submit(self):
        self.find_element(*self.buttonloc).click()
    
    #定位注册按钮    
    defzhuce_submit(self):
      self.find_element(*self.zhuce).click()

免责声明:文章转载自《关键字驱动和数据驱动》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇持续集成(CI):WEB自动化+Allure+Jenkins定时构建【C++ 异常】error: jump to case label [fpermissive]下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

HadoopDB:混合分布式系统

HadoopDB 是一个 Mapreduce 和传统关系型数据库的结合方案,以充分利用 RDBMS 的性能和 Hadoop 的容错、分布特性。2009 年被 Yale 大学教授 Abadi 提出,继而商业化为 Hadapt,据称从 VC 那儿拉到了 10M 刀投资。 本文是对 HadoopDB 论文的总结。其中不免掺杂些自己的不成熟想法,更详细的内容,还...

数据库空间不足造成插入数据库时提示“因为文件组primary已满,未能为数据库XX对象XX分配空间”

        一大早刚进办公室就陆续接到电话说创建某某单据时提示“因为文件组primary已满,未能为数据库XX对象XX分配空间”。自从接手BASIS工作以来第一次遇到这样的问题。真是有点手忙脚乱的。因为是月结期间更是火上浇油了。打开数据库属性看了一下,可用空间为0。看一下数据库文件,三个文件都已经达到了10240M了,因为第一次遇到这样的问题也没敢下结...

MUI 学习---页面跳转;页面传参;接口数据请求;页面数据绑定;构建点击事件;回调刷新;数据列表支持从右向左滑动触发删除;拨打电话

1、页面跳转、页面传参、构建点击事件 /*给ul 下面的li 添加点击事件*/ mui('ul').on("tap", "li", function() { //获取html页面中data-item中的item对象 var obj = this.dataset.item;...

winform把图片存储到数据库

1、先在Form中放一个PictureBox控件,再放三个按钮。 2、双击打开按钮,在里面写如下代码: OpenFileDialog open1 = newOpenFileDialog(); DialogResult isok =open1.ShowDialog(); if (isok ==DialogRe...

全链路压测(1):认识全链路压测

前言 之前断断续续写过一些全链路压测相关的技术文章,很多同学评价还不错。朋友建议我写个系列,基于自己的落地实践经验,对全链路压测做个系统性的梳理总结。 今年跳槽后我的工作重心也偏向了全链路压测和稳定性保障方面的研究,这个时间点写这个系列,也算是对自己过去工作的最好总结。 整体写作规划里,这个系列大概有14篇内容,不排除后期有新的理解和沉淀,会加更。目前草...

常用数据清洗方法大盘点

本文来自网易云社区 数据清洗是将重复、多余的数据筛选清除,将缺失的数据补充完整,将错误的数据纠正或者删除,最后整理成为我们可以进一步加工、使用的数据。 所谓的数据清洗,也就是ETL处理,包含抽取Extract、转换Transform、加载load这三大法宝。在大数据挖掘过程中,面对的至少是G级别的数据量,包括用户基本数据、行为数据、交易数据、资金流数据以...