Python的机器人框架
在这篇文章中,我们将看到机器人框架,我们将涵盖标准库和底层功能,接下来我们还将涵盖测试用例、关键字、变量,并最终组织测试用例。
Robot Framework是用于验收测试、验收测试驱动开发 (ATTD) 和机器人流程自动化 (RPA) 的通用开源自动化框架。它使用关键字驱动的测试技术方法,并且可以通过可以在Python或Java实现的测试库来扩展功能。
说一下验收技术,其中测试系统的能力,验收技术的目的是根据业务需求评估系统的能力。
验收测试驱动开发 (ATDD)
这是一种植根于客户、开发人员和测试人员之间的业务沟通的高级方法。他们协同工作并在实现功能之前进行验收测试。
机器人流程自动化 (RPA)
这是一个通过使用机器学习和人工智能功能的软件方便地减少人力的过程。 RPA 处理高级别的可重复任务。
机器人框架的架构
测试数据很简单,在机器人框架启动时编辑表格格式。它执行过程数据并生成日志和报告。核心框架对被测目标一无所知,与它的交集由库处理。库既可以直接使用应用程序接口,也可以使用低级测试工具作为驱动程序。 Robot Framework 具有模块化架构,可以与自我声明的库进行捆绑和扩展。当执行开始时,框架会解析它之前的数据。然后它使用库提供的关键字与目标系统交互。图书馆可以与系统进行有序的互通或使用其他工具作为驱动程序。测试或任务执行从命令行开始。结果,我们得到了一份报告和 HTML 格式的日志以及一个 XML 输出。
安装
第 1 步: Python安装
检查您的系统上是否安装了Python 。
python --version
pip --version
第 2 步:安装机器人框架
在Python上安装机器人框架的建议路线是使用 pip。我们可以使用下面提到的命令来安装框架。
pip install robotframework
步骤 3:验证安装
安装好后,我们应该可以使用-version选项看到解释器和机器人框架版本。
robot --version
rebot --version
第 4 步:检查机器人框架是否安装正确
pip show robotframework
机器人框架中的标准库
机器人框架中有一堆标准库。让我们一一讨论
- Builtin是一个 Robot Framework 标准库,它提供了一组经常需要的常用关键字,因此会自动导入并始终可用。
- Collection是一个标准库,它提供了一组关键字来处理Python列表和字典。该库具有用于修改和从列表和字典中派生值的关键字。
- DateTime是一个支持日期和时间值的创建和转换的机器人框架。
- Dialogs是一个 Robot Framework 标准库,它提供了一种暂停执行和接收用户输入的方法。根据测试是否正在运行,对话框有点不一致。
- 操作系统启用各种与操作系统相关的任务,这些任务将在机器人框架运行时在系统中执行。它可以执行命令,也可以直接创建和删除文件。
- Process用于运行进程,该库利用Python子模块及其开放类。该库的主要用途是等待系统中正在运行的进程,并使用run process关键字进行编译。我们使用启动进程在后台启动进程,然后我们启动进程或结束进程或使用等待进程终止所有进程。
- Screenshot是一个测试库,用于在运行测试的机器上截取屏幕截图。
- String是一个用于字符串操作和验证的库。
- Telnet通过 telnet 连接提供通信。 telnet 库可以连接到 telnet 服务器并通过打开的连接执行命令。
- XML也是一个用于验证和修改 XML 文档的机器人框架文本库。
内置工具
机器人框架中使用的内置工具主要有四种:
- Testdoc – Robot Framework 根据测试用例生成高级 HTML 文档。
- Rebot – 基于 XML 输出生成日志和报告并同时合并多个输出的工具。
- Tidy – 用于清理和更改数据文件格式的机器人框架工具。
- Libdoc – 用于为库和资源文件生成关键字文档的工具。
测试用例
机器人框架中的测试用例允许用简单的英语编写,而不是自动化测试用例。它遵循关键字测试驱动的方法,在行动而不是期望方面与自然语言产生共鸣。测试用例是从测试用例表中的可用关键字创建的,关键字可以从测试库或资源文件中导入,或者我们也可以为测试用例文件创建一个关键字表。
工作流测试
测试用例表中的第一列包含测试名称,测试用例以列中的某些内容开始,并与下一个测试用例名称或表末尾连续。
高级测试
第二列通常包含关键字名称,此规则的例外是设置具有关键字写入值的变量。
数据驱动的测试
数据驱动测试允许在不模仿工作流程的情况下隔离测试数据。机器人框架中的 [template] 设置为数据驱动测试设置测试用例。
关键词
Robot Framework 中的测试用例是使用来自两个来源的关键字创建的。
- 库关键字:所有最底层的关键字都定义在标准库中,可以使用Java、 Python等编程语言实现。Robot Framework自带的测试库可以分为标准库和自定义库,所以标准库在内置截图和外部库等主要框架与Selenium库一样单独安装。
- 用户关键字:机器人框架的强大功能之一是我们可以使用其他关键字创建自定义的高级关键字。
组织测试用例
机器人测试用例在测试用例文件中创建,但我们可以将它们组织在构成测试套件层次结构的目录中。测试用例的集合称为测试套件。每个包含测试用例的文件也形成了一个测试套件。可以通过使用目录将测试用例组织成一个层次结构,所有这些目录形成一个更高级别的测试套件,从目录名称派生出它们的名称。
创建第一个机器人测试
步骤 1:检查机器人框架是否安装
第二步:进入项目Eclipse>Robot项目>New Test Suite
机器人的简单测试:
*** Test Cases ***
MyFirstTest
Log Hello World!!!
要运行我们的测试用例,只需右键单击屏幕并选择运行测试:'MyFirstTest ',控制台将打开
正如我们可以看到有关测试的所有详细信息,我们可以按照给定的地址链接查看输出、日志和报告
在这里我们可以清楚地看到项目报告,它给出了报告创建的时间。它提供了一些有关测试的摘要信息,如状态、开始时间、结束时间、经过时间和日志文件。
我们通过单击给定的链接访问日志文件:
在这里,我们可以查看统计数据并检查测试用例的通过/失败/跳过数量。我们可以检查测试执行日志和测试套件状态。
机器人框架的优势
- 使用和安装都很方便。
- 它是一个开源框架,任何有或没有编程经验的人都可以驱动。
- 它适用于各种操作系统和外部库,例如Selenium库。
- Robot 框架支持行为驱动、关键字驱动和数据驱动样式的构建测试用例。
- 我们可以使用任何机器人集成开发环境 (RIDE) 或任何文本编辑器来编写测试用例。
Robot Framework的缺点
- 并行测试执行的稀缺性。
- 自定义 HTML 报告并不简单。
机器人框架的局限性
Robot 缺乏对 if-else、嵌套循环的支持,当代码变得复杂时,这是必需的。
结论
Robot Framework 是一个开源测试自动化框架,用于验收测试和验收测试驱动的开发。机器人框架中的测试用例基于关键字以表格形式编写,清晰易读,并揭示测试用例意图的真实信息。例如,打开浏览器,使用的关键字是“打开浏览器”。