每个 Web 开发团队都会对其产品进行一系列测试,但后来给出的 Web 解决方案存在缺陷。
即使进行了最好的手动测试,缺陷也不可避免地会蔓延并再次出现,尽管 QA 团队努力在第一次发布之前捕获它们。
在提高软件测试的效率和范围方面,自动化 Web 测试是您的最佳选择。
对于在线测试,Python 编程语言 提供了一个可以利用外部库(例如 selenium)的机器人框架。
在这篇文章中,我们将介绍与 Python 机器人框架相关的测试用例和其他术语。
什么是机器人框架?
机器人框架 是一个用 Python 编写的灵活的开源通用自动化框架,用于自动化软件测试、机器人过程自动化、验收测试和验收测试驱动的开发。
简单来说,它是一个基于 Python 的关键字驱动的测试自动化框架。
它使测试人员能够有效地自动化和维护复杂的流程脚本。 该框架可用于测试用户界面和应用程序编程接口。
除了许多其他集成之外,它还允许测试工程师使用 Selenium。 Selenium 是一种行业标准工具,用于自动化用户行为和为任何网站编写基于用户的 Web 浏览器交互脚本。
什么是验收测试?
这是一种确定系统容量的方法。 验收测试的目标是评估系统与业务需求相关的能力。
什么是机器人过程自动化?
RPA 或机器人过程自动化是一种通过使用包含 机器学习 和人工智能能力。 RPA 用于自动化高级别的重复流程。
什么是验收测试驱动开发?
验收测试驱动开发,通常称为 ATDD,是一种依赖于业务客户、开发人员和测试人员之间通信的开发技术。 他们在部署该功能之前进行协作并进行验收测试。
机器人框架——高级架构
Robot Framework 是一个与应用程序和技术无关的框架。 它的架构非常模块化,如下图所示。
测试数据以简单、可编辑的表格格式呈现。 Robot Framework 在启动时分析数据、执行测试用例并创建日志和报告。
核心框架不知道被测目标,库管理与它的所有交互。 库可以利用较低级别的测试工具作为驱动程序或直接使用应用程序接口。
特征
- 它通过允许各种测试自动化来促进数据驱动的测试 数据类型.
- 它避免使用大量代码,而是使用行为驱动的测试策略。
- 它可以与第三方的库和函数一起使用。
- 关键字(预定义或用户定义)以表格样式用于编写测试用例。
- 用户可以创建关键字。
- 允许使用变量。
- 该框架采用关键字驱动的方法,其中脚本是使用微小的、易于理解的术语(预定义的或用户定义的)编写的。
- 每次构建后,报告,
- 并创建日志。
- 它会生成脚本执行状态的完整报告和日志,这在脚本失败的情况下特别有用。
机器人框架教程
让我们潜入。
1.机器人框架安装
建议使用 pip 包在 Python 中安装机器人框架。 要安装框架,请运行以下命令。
使用 -version 选项成功安装后,您应该能够查看解释器和机器人框架版本。
2。 图书馆
- 内置 - 这是一个标准库,其中包含一组常用关键字,这些关键字自动导入并始终可用。
- 集合——它提供了一组用于处理 Python 列表和字典的关键字。 该库的关键字可用于从列表和字典更改和创建值。
- Dialogs – 一个标准库,用于停止执行并获取用户反馈。 根据测试是否正在运行,对话框有点不一致。
- DateTime 使您能够生成和修改日期和时间信息。
- 操作系统——它使机器人框架能够在运行时在系统中执行各种与操作系统相关的任务。 除其他外,它可以执行指令并直接生成和修改数据。
- Process – 该库用于使用 Python 子模块和开放类运行进程。 run process 关键字用于等待系统中正在运行的进程并对其进行编译。
- XML 也是机器人框架用来验证和修改 XML 文档的文本库。
- string 是一个用于操作和验证字符串的包。
- Telnet 应用允许您通过 telnet 进行交互。 telnet 库允许您通过常规 TCP/IP 连接连接到 telnet 服务器并执行命令。
3. 内置工具
在机器人框架中,主要使用四种内置工具:
- Rebot – 用于从 XML 输出创建日志和报告并同时合并大量输出的工具。
- Testdoc — 基于测试用例,Robot Framework 创建高级 HTML 文档。
- Libdoc – 库和资源文件的关键字文档生成器。
- Tidy – 用于清理数据文件并将其转换为不同格式的机器人框架工具。
4. 测试用例
机器人框架中的测试用例可以用基础英语来代替自动化测试用例。 以下测试可用于对测试场景进行分类。
- 工作流程测试
- 更高级别的测试
- 数据驱动的测试
工作流程测试
机器人框架的测试用例经常用表格语法编写。 测试用例表的第一列包含测试名称,测试用例以列中的任何内容开始,以下一个测试用例名称或表的结尾结束。
让我们看一个真实世界的例子来了解它是如何工作的。
- 用户可以创建一个帐户并登录。
- 如果密码不正确,用户将无法登录。
高级测试
第二列通常包含关键字名称,但使用关键字写入值设置变量除外。
机器人框架的测试用例可以只使用高级关键字而不使用位置参数来构建。 要进一步理解高级测试,请考虑以下示例。
数据驱动的测试
数据驱动测试隔离测试数据而不是模拟过程。 在机器人框架中,[模板] 设置定义了数据驱动测试的测试用例。
5.关键字
为了在机器人框架中构建测试用例,使用了来自两个来源的关键字。
- 图书馆的关键词
- 用户关键词
图书馆的关键词
标准库定义了所有最低级别的术语,这些术语可以使用计算机语言来实现,例如 Python 和 Java.
标准库、外部库和自定义库是机器人框架可用的测试库之一。 核心框架包括内置、截图、OS等标准库。
用户关键词
从现有短语生成独特的高级关键字的能力是机器人设计的最重要特征之一。 为了进一步了解它是如何工作的,让我们看一个例子。
6。 变量
变量是机器人框架中每个测试用例的重要组成部分。 变量是指定测试用例中可能发生变化或可变性的任何数据的绝佳方法。
让我们看看如何在测试用例中定义变量。
指定变量
除了用户定义的变量外,机器人框架还内置了 $TEMPDIR 和 $/ 等变量,我们在前面的示例中使用了这些变量。
利用变量
变量可以在测试用例的任何地方使用。
但是,它们最常用作关键字参数。 考虑下面的例子来说明我的意思。
7. 组织测试用例
测试用例文件用于构建机器人测试用例,但也可以将它们分组到目录中以创建测试套件层次结构。 测试套件是一组测试用例。 测试套件由包含测试用例的所有文件组成。
使用目录,可以将测试用例结构化为层次结构; 所有这些目录都提供高级测试套件,其名称源自目录名称。
使用设置和拆卸
设置表的“Test Setup”和“Test Teardown”选项可用于在测试完成之前或之后执行测试中的特定关键字。 您还可以使用“Suite Setup”和“Suite Teardown”在测试套件之前或之后执行关键字。
您可以在测试用例中创建自定义的 [Setup] 和 [Teardown],类似于 [Template]。 考虑以下场景以更好地理解这一点。
使用标签
机器人框架允许使用标签为测试用例提供免费的元数据。 “强制标签”和“默认标签”可用于在文件中设置标签。 [Tags] 与 [Template] 一样,可用于将标签分配给单个测试用例。 让我们看一个例子,看看我们如何使用标签。
该报告将包括带有链接到它们的测试用例的标签,以及执行后基于标签的统计信息。
优点
- 设置机器人框架很容易。
- 它基于使用关键字。
- 它使您能够使用 Gherkin。
- 它适用于两者 移动和基于网络的应用程序.
- Robot Framework 的基本原理很容易掌握。
- 它使用低代码方法。
- 支持 Windows、Mac OS X、Unix 和 Linux。
- Python、IronPython 和 PyPy 都是受支持的编程语言。
- 它适用于所有主要的网络浏览器。
- Robot Framework 是一个免费使用的开源自动化工具。
缺点
- Robot Framework 不支持并行测试执行。
- 机器人框架很难跟上。
- Robot Framework 中的 HTML 报告很难更改。
- 调试一些机器人框架问题可能很棘手。
- Robot Framework 中严格执行缩进。
结论
Robot Platform 是一个免费的开源验收测试和验收测试驱动的开发框架。
机器人框架的测试用例建立在以表格形式表达的关键字之上,这使得它们易于理解并提供有关测试用例含义的准确信息。
使用起来非常方便和简单。
你们中的一些人以前使用过它,所以如果您已经设置好测试并且您的 Android / iOS 应用程序准备就绪,请尝试一下。
您会惊讶于事情的运行情况以及验收测试可以多快完成。
发表评论