模版型网站是怎样的,论坛推广工具,网站终端制作,全网搜索指数很多人在接触自动化测试时#xff0c;都会听到关键字驱动这样的一个概念#xff0c;但是在研究时却有些不太清楚这种驱动模式的设计及实现到底该如何着手去做。
关键字驱动#xff0c;作为一种自动化测试框架的设计形式#xff0c;在很早的时候就已经有提及过了。它的基本…很多人在接触自动化测试时都会听到关键字驱动这样的一个概念但是在研究时却有些不太清楚这种驱动模式的设计及实现到底该如何着手去做。
关键字驱动作为一种自动化测试框架的设计形式在很早的时候就已经有提及过了。它的基本原理或者说构思就是将原本的自动化代码进行代码与数据的分离再将分离出来的代码二次分离形成所谓行为代码与测试代码而后再经由数据内容驱动行为代码生成测试代码。从而更加便捷地进行自动化测试代码的管理以及提高自动化的复用性让使用者更加容易理解和使用自动化毕竟还是有很多很多测试人员对代码一窍不通。 可能这个解释听起来有点复杂那么我举个很简单的例子让大家了解一下关键字驱动的形式
1. 我在吃饭。
2. 你在吃饭。
3. 他在吃饭。
这一组内容可以看到不论是谁都在做着吃饭这样的一个行为而其中重点的是角色也就是所谓的“你我他”那么我们可以将“吃饭”这个行为提取出来作为一个公共的内容这样就只需要提供一个角色数据就可以实现任何一个人吃饭的这样一件事情了。而这个提取行为作为公共内容的过程就是所谓的关键字封装通过角色数据去驱动这样的一个行为形成这一件事情这就是所谓的“关键字驱动数据驱动”的自动化测试设计模式了。 那么在自动化测试中我们要实现关键字驱动的话该如何去做呢
首先是环境的准备
1. SeleniumWebDriver常规组建的生成有关这部分可以参照我之前写的的Selenium环境搭建
在Pycharm中导入Selenium模块 在Python安装根路径下添加driver文件 2. 如果想要结合数据驱动则依据数据文件格式选择对应的组件安装
Excel可以通过xlrd
yaml可以通过pyyaml
还有很多其他不一一例举了。
3. 如果想要整个框架做的更加完善可以添加很多其他的内容比如说logging日志记录Requests接口自动化Appium/uiautomator2移动端UI自动化等等等等这里依据个人喜好和需要进行添加即可。
准备好环境后就是重点的关键字封装提取在这里以Selenium为例
先看基本的工程结构 定义一个最基本的关键字结构创建一个包专门用于管理各类关键字类对象可以是WebUIAppUI接口的关键字对象。作为一个关键字库用于存放和被调用。再定义一个包专门用于调用关键字库的内容实现自动化的执行当然也可以用其他形式这里很多方法可以应用。
接着再来看看关键字类如何实现 关键字类中将常规的元素操作行为从Selenium对象中提取出来然后进行二次封装生成自己的关键字库这个库可以理解为是工具库当实际测试过程中需要应用到任何的方法时直接通过实例化这个库然后在库中进行调用即可。这个类中在执行过程中是有可能会出现异常的比如元素查找失败超时等等所以最好在关键字封装时添加异常处理机制避免在运行时出现异常而导致无法捕捉具体原因。
关键字类的调试 因为没做数据驱动类所以直接在Pycharm中编写测试代码中对已生成的关键字类进行调试通过运行可以发现整个过程已经可以正常实现也就意味着这个关键字对象库没有太大问题而我们后续需要做的就只是在这个对象库中不停添加需要的关键字即可。而结合到数据驱动像是Excel、yaml等之后也可以通过这些数据文件来驱动我们的对象库。
SO.
通过关键字驱动的实现可以很好地将常规的自动化代码进行操作行为与测试代码的分离生成复用性较高的自动化测试模式。而且结合到数据驱动可以应用到多种不同类型的业务系统来实现自动化测试工作。从而提升我们的工作效率以及个人的自动化测试能力。
总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 视频文档获取方式 这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。