自动化测试-robotframework做自动化测试的封装分层

阅读文本大概需要 4.2 分钟。

 

最近的系列教程都是讲 Python 自动化相关的,今天这个分享 RF 系列的教程最后一个知识点,讲讲提高脚本编写效率的方式:分层思想。

我相信,认真根据以上文章操作的话,你已经基本掌握了用 Python 在框架上编写简单的自动化脚本了,但是对于项目而言,还是不够的,为了使自动化脚本具有更好的可维护性,那我们开始今天给大家的分享:编写自动化脚本的分层思想。

分层思想

关键字驱动本质上是一种分层思想,「关键字」的底层其实还是程序定义的方法。比如打开浏览器 Open Browser 方法其实就是 RF 框架封装好的打开浏览器的方法,我们直接调用即可。分层思想把一个固定的实现过程分成不同的多层。提高的脚本灵活性,从而达到可扩展性和可维护性。

基础流程封装

拿操作浏览器那篇文章中登录 pk 哥博客举例,就登录这个功能,我们简单的设计一个正例和两个反例:

  • 账号正确,密码正确
  • 账号正确,密码错误
  • 账号错误,密码正确

如果我们直接写的话,我们是不是得写 3 条类似的案例脚本呢?

这样写代码的复用性太差,而且一旦输入框定位方式改了的话,我的就得一条一条的去改,不利于后期维护。其实这些案例,除了账号密码不一样,操作步骤完全一样,所以我们可以利用分层思想,把代码封装起来,封装成关键字,账号和密码作为变量。

我们用 Arguments 列出变量,格式是 ${a},这样脚本封装好了,我们就可以直接调用封装好的方法,并输入必要的参数就可以了。

这样脚本是不是变得很简洁了?而且可读性更好了。

刚才我们是把封装的关键字和脚本放在一个文件里面的,可以直接调用。如果封装的功能块比较多的话,我们可以单独放在另一个文件里面,这样我们调用时需先在 Settings 中用 Resource 命令导入这个文件,这样就可以随意调用这个文件中的任意关键字了。

当然,你也可以调用这些基础的操作上再深一层的封装一些稳定的操作或业务供调用,这样后期可以更好的维护脚本。

参数封装

大家看过之前写的一篇自动化操作 APP 的文章应该知道,我们启动设备中的 APP 时,需要输入设备 ID 的参数。在团队中,如果是 APP 测试的话,测试部每个测试员都有一台测试手机,如果每次执行脚本时都要去脚本中把参数都改成自己的,有些参数的改动的可能还不止一次,而且还有可能容易漏掉修改。像这样易变动的数据我们可以把它变成参数。

我们新建一个文件,命名为「参数.robot」,在 Variables 下列出容易变动的参数,比如 Appium 端口号、设备名称。

调用这些参数同样需要先在 Settings 中用 Resource 命令导入这个文件,那么上次 APP 签到的脚本我们就可以修改成这样。

这样的好处是,多处调用的参数我们只需要在文件中改动一次就可以全部生效,这样维护起来就更方便了。

 

文章为pk哥原创,我在我的公众号: Python 知识圈 上会分享更多心得体会,你也可以关注。

***版权申明:本文为 Python知识圈 pyzhishiquan.com 原创,没有Python知识圈书面授权,请勿以任何形式转载,摘编,复制或镜像。***

为您推荐

发表评论

电子邮件地址不会被公开。