- Robot Framework 教程
- Robot Framework - 首页
- Robot Framework - 概述
- 环境设置
- Unix 和 Linux 安装
- RIDE 简介
- 使用 RIDE 创建第一个测试用例
- 编写和执行测试用例
- 关键字和数据驱动测试用例
- 使用 Selenium 库操作浏览器
- 操作文本框
- 操作单选按钮
- 操作复选框
- 操作下拉菜单
- 使用关键字
- 使用变量
- 使用命令行
- 使用测试设置和测试拆卸
- 使用内置库
- 使用外部数据库库
- 使用 Robot Framework 测试登录页面
- Robot Framework 有用资源
- Robot Framework - 快速指南
- Robot Framework - 有用资源
- Robot Framework - 讨论
使用外部数据库库
我们已经了解了如何使用 Selenium 库。Selenium 库的详细安装/导入过程在章节“使用 Selenium 库操作浏览器”中讨论。
本章将讨论数据库库,以及如何使用 Robot Framework 连接和测试数据库。
访问 Robot Framework 网站 https://robotframework.org/ 并点击库,如下所示:
点击库后,您将被重定向到如下所示的屏幕:
库被分为标准库、外部库和其他库。
本章我们将重点介绍外部库。点击外部库后,将出现以下屏幕:
它显示了 Robot Framework 支持的外部库列表。在这里,我们将更多地关注数据库库 (Python)。以上截图中已对此进行了突出显示。
点击数据库库 (Python) 后,您将被重定向到显示安装说明的屏幕,如下面的截图所示:
我们可以使用 pip 安装数据库库,命令如下:
pip install -U robotframework-databaselibrary
在命令行中运行上述命令,如下所示:
库存储在 python lib 文件夹中,如下所示:
安装完成后,下一步是在项目中导入库并在测试用例中使用它。
导入数据库库
使用命令行中的ride.py打开 RIDE 并创建用于测试数据库的项目。
点击新建项目并为项目命名。
点击确定保存项目。
点击“添加导入”下面的“库”。
输入库名称为 DatabaseLibrary,如下所示,然后点击确定。
保存后,库显示如下:
我们将使用 MySQL 数据库。要使用 MySQL,我们需要安装模块。
命令
pip install pymysql
现在在创建的项目下创建测试用例。
点击新建测试用例:
输入测试用例的名称并点击确定。
我们将使用现有的名为 customers 的数据库。
我们将使用 phpMyAdmin 来显示 customer 数据库:
我们有一个名为 customer 的表,其中数据分布在 6 行中。现在我们将编写一个测试用例,连接到 MySQL 数据库 customers 并从 customer 表中获取数据。
在开始之前,我们将创建标量变量来保存dbname、dbuser、dbpasswd、dbhost、dbport 和 queryresult 等数据。以下是创建的变量及其值:
连接到数据库的命令是:
Connect To Database pymysql ${dbname} ${dbuser} ${dbpasswd} ${dbhost} ${dbport}
我们将添加更多测试用例,如下所示:
以下是详细信息:
*** Settings *** Library DatabaseLibrary *** Variables *** ${dbname} customers ${dbuser} root ${dbpasswd} admin ${dbhost} localhost ${dbport} 3306 @{queryResults} *** Test Cases *** TC1 Connect To Database pymysql ${dbname} ${dbuser} ${dbpasswd} ${dbhost} ${dbport} Table Must Exist customer Check If Exists In Database SELECT * FROM customer @{queryResults} Query SELECT * FROM customer Log @{queryResults}[0]
我们已连接到数据库,检查了 customer 表是否存在于数据库中,执行了查询并记录了查询的详细信息。
我们将执行测试用例并查看输出。
查询结果显示了表中的结果。
日志详细信息
TC1 的详细信息
结论
我们已经了解了如何导入数据库库以及如何安装它。现在我们知道了如何在 Robot Framework 中连接到 MySQL 数据库并测试表。