第一时间关注 Python 技术干货!

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

上篇文章讲了自动化测试的重要性,今天就给大家讲讲自动化框架 Robot Framework 的安装和 demo 演示。

为什么选择此框架

RF(Robot Framework的简称)自动化测试框架优点:

门槛低,采用表格化用例,降低了自动化测试入门门槛。

重用性好,可以利用现有的关键字组装成新的关键字。

易于扩展,可以自定义测试库。

提供简单的 Libary API,Robot Framework 是通过测试库识别被对象、操纵被测对象,有很多自带的或者第三方的开源测试库。

易于集成,提供界面命令行多种接口的执行方式。

功能全面,支持 WEB 测试、SSH、telnet、API 接口多种测试方式。

提供 HTML 的简单易读的报表和日志结果文件。

用框架的好处就是不用重复造轮子,可维护性好、兼容性好。

语言环境

RF 的核心框架使用 Python 实现,我们编写脚本的语言也是使用 Python,Python 目前有 2 和 3 两个版本,不过 Python 2 将于 2020 年 1 月 1 日终止支持。所以如果你现在接触 Python 的话,最好选择 Python 3 的版本。一些老的教学视频还是用 Python 2 版本来教学,建议大家分辨清楚。

Python 3 的安装就不啰嗦了,不会的大家请求搜索引擎的帮助。

框架安装

RF 框架安装,最简单的方法是用通用的 Python 包管理工具 pip 命令来安装,Python 3 安装好后这个管理工具 pip 会自动安装好,直接用就好。

验证下是否安装成功:cmd 命令提示符窗口下输入以下命令查看

列表中出现了框架名称就表示安装成功。

编辑器

框架安装成功后,接下来我们需要一个编辑脚本的编辑器。Python 2 版本的话我们可以用 RIDE 编辑器。但是 RIDE 编辑器不支持 Python 3,所以我们得找其他编辑器,我目前用的编辑器是 PyCharm,下面讲解的例子以这个编辑器为准。当然,你也可以用其他的编辑器,比如 RF 官网提供的 RED,RED 是基于 Eclipse IDE 的现代编辑器。大家可以用用看,哪个用得舒服用哪个。

Pycharm配置

1、编辑器中安装 RF 插件

首先在 Pycharm Settings 里插件中输入 intelliBot,点击右边 Install 就行安装,安装完成后会提示你重启编辑器。我的已经安装过了,所以下图中显示的是 Uninstall 按钮。

2、在 Pycharm 中配置 RF 的文件类型识别

因为 RF 框架是支持脚本文件以 txt 格式存在的。所以还是在 Settings 中 Editor--File Types 里找到 Robot Feature 选项,增加 RF 文件格式,增加 txt 格式,我们用 *.txt 表示。如需其他格式的也可以在这里添加。

3、在 pycharm 中配置 suite 和 case 的运行配置

配置 TestSuite 运行方法

执行测试组件脚本时,需进行如下设置:在 Settings--Tools--External Tools 下添加工具配置测试组件的运行方法。

配置 TestCase 运行方法

执行单个测试案例时,需进行如下设置:继续在 Settings--Tools--External Tools 下添加工具配置测试案例的运行方法。。

第三方库安装&调用第三方库安装

前面说到,RF 框架有很多自带的或者第三方的开源测试库。大家可以在 RF 官网查看所有的第三方库,地址如下:

图中截图了部分第三方库

今天就以 selenium2Library 库操作浏览器来举例,首先用命令安装测试库。

安装成功后在编辑器中安装好这个库,前面如果 robotframework 库没有在编辑器中安装此时也可一并安装。

调用库

先在目录下新建一个 test.robot 或者test.txt 文件,RF 中调用库在 Settings 下配置,输入需调用的 Library 的名称。像 Settings 和 Library 这些 RF 中自带的名称你输入第一个字母时会自动匹配出来。

在 Test Cases 格式下书写自动化脚本,比如我要用 chrome 浏览器打开 pk 哥的博客。用 selenium2library 库中的 Open Browser 关键字,后面加上你需要打开的网址和用的浏览器类型。浏览器这块注意下,如果你用的是非狐火浏览器,比如我用的 chrome,需要把对应浏览器的驱动文件放在 Python 安装目录下,而且浏览器驱动必须和浏览器版本是匹配的,或者会报错。这个细节下次详细再做讲解,这次只是做一个小 demo。

demo 中的操作步骤很简单,分为 3 步,3 个关键字都是库里定义好的,直接调用就行。

1、打开 pk 哥博客。

2、等待 1 秒。

3、关闭浏览器。

接下来运行单条测试案例,选择案例名称,用上面在 External Tools 中添加的 Robot Run SingleTestCase 执行单条测试案例,演示动态效果图如下。

案例执行完后 RF 会自动生成日志文件和报告文件,都是 html 格式的文件,用浏览器打开即可查看。

打开日志文件 log.html 文件可查看执行情况,展开可查看执行详细过程。如果有些案例执行失败,可以通过此文件来定位问题。

打开 report.html 文件可以查看案例执行的整体情况。

今天的 Python 自动化框架就分享到这里,希望对你有帮助,祝进步!

现在微信改版了

pk 哥的干货不好找了?

其实只要把公众号置顶就可以了

pk哥 2 秒教会你

python自动化测试看什么书-Python自动化测试入门,看这一篇就足以相关推荐

  1. 学人工智能要看什么书?AI入门到进阶10本必看书

    学习人工智能可以从多个方面入手,从基础到进阶,不同的书籍可以帮助你建立不同的技能和知识体系.以下是我推荐的10本必看书: 学人工智能要看什么书?AI入门到进阶10本必看书 <Python编程从入 ...

  2. python爬虫教程书籍-python爬虫有哪些书(python爬虫教程知乎)

    python爬虫有哪些书 python有哪?下面给大家介绍6本有关爬书: 更多Python书籍推荐,可以参考这篇文<想学python看哪些书> 1.Python网络爬虫实战 本书从Pyth ...

  3. python自动化看什么书_python自动化测试书籍

    求推荐下python进行软件自动化测试的书籍 虽然说python里有testsuite之类的包.不过自动化测试其实与编程无关.主要是选择合适的测试用例和测试方法.与业务有关. 自动化测试框架也容易搭建 ...

  4. python基础看什么书-2020年入门Python,这7本书一定要看!

    毋庸置疑,Python是2019年最流行的编程语言之一,它可以用于各种与开发相关的任务,并且拥有一个庞大的社区和用户. 作为一个刚想要入门开发领域的程序员来说,Python是一个不错的选择,因为它确实 ...

  5. python基础看什么书-python新手看什么书比较好?这五本最靠谱

    Python Python开发 Python语言 python新手看什么书比较好?这五本最靠谱 结合我做开发这么多年经验, 总结了以下五本书对学python的人来说很有帮助! 1.<Python ...

  6. 初学者学python看什么书-python初学者看什么书

    俗话说:工欲善其事,必先利其器!对于零基础入门的人来说,对于Python的学习还是有点懵懵懂懂的,如果有一些书籍先看看来引导,学起来难度也会减低很多,同时会提高学习者的自信心!今天向推荐这些零基础入门 ...

  7. 学python看什么书-python有什么好的书籍

    下面推荐几本适合新手学习的Python书籍: <Python学习手册:第3版> <Python学习手册(第3版)>讲述了:Python可移植.功能强大.易于使用,是编写独立应用 ...

  8. python自学看什么书-python自学看什么书

    于我个人而言,我很喜欢Python,当然我也有很多的理由推荐你去学python.我只说两点.一是简单,二是写python薪资高.我觉得这俩理由就够了,对不对.买本书,装上pycharm,把书上面的例子 ...

  9. python项目开发实例书-Python项目开发实战

    本书案例具有实用性,如校园网搜索引擎.小小翻译器.抓取百度图片这些爬虫案例略加修改可以应用实际项目中:还有通过微信通信协议开发微信机器人,机器学习的文本分类.基于卷积神经网络的手写体识别等案例,另外是 ...

最新文章

  1. 手把手教你重构乱糟糟的代码
  2. 计算机网络实验socket编程,计算机网络实验 socket编程
  3. 查服务器的作用有哪些,云服务器优点和功能有哪些,可以看看这些或许你会明白...
  4. 机器人雅可比矩阵的求法_构造法
  5. JS中的prototype、__proto__与constructor(图解)
  6. argument ‘input‘ (position 1) must be Tensor, not XX
  7. 打开chm文件提示“已取消到该网页的导航”
  8. 新型的Hbb项目目录结构
  9. 达人评测 r7 7840HS和i5 1340p选哪个 锐龙r77840HS和酷睿i51340p对比
  10. 鼠标滑过,二级菜单显示
  11. C语言二进制、八进制、十进制、十六进制深入探究
  12. 【转载】什么样的妻子什么样的人生
  13. 【中秋特辑】赛博朋克『静夜思』,金属摇滚『月饼』,落霞秋水『思乡』,AI画笔下的中秋长这样!赠你 8400 个月亮 | ShowMeAI资讯日报
  14. 都是S赛,为什么EDG夺冠公认“含金量最高”?
  15. HPM6750EVK 硬件通读与例程通跑 1
  16. dau、mau、pcu、dnu、wau、acu、uv的意思是什么?
  17. UMLChina建模竞赛第3赛季第2轮
  18. 为什么Mysql底层采用B+树做索引?
  19. gulp代码压缩和制作雪碧图
  20. 使用jQuery加DIV实现可以动态添加的金字塔结构

热门文章

  1. spring问题--Unable to validate using XSD
  2. python学习笔记-练手实例
  3. mysql和SQLYog工具使用
  4. 常见四大类型视频接线DP、HDMI、DVI、VGA的比较
  5. Python easyGUI 文件浏览 显示文件内容
  6. iOS Xcode 项目重命名
  7. ASP.NET 163 smtp服务器响应为:User has no permission
  8. 关于eclpse java项目与tomcat jdk版本不一致的解决方法
  9. redis搭建与安装2
  10. phpwind管理权限泄露漏洞