使用外部数据库库



我们已经了解了如何使用 Selenium 库。Selenium 库的详细安装/导入过程在章节“使用 Selenium 库操作浏览器”中讨论。

本章将讨论数据库库,以及如何使用 Robot Framework 连接和测试数据库。

访问 Robot Framework 网站 https://robotframework.org/ 并点击,如下所示:

Database Using Robot Framework

点击库后,您将被重定向到如下所示的屏幕:

Redirected Screen

库被分为标准库、外部库和其他库。

本章我们将重点介绍外部库。点击外部库后,将出现以下屏幕:

Libraries categorized

它显示了 Robot Framework 支持的外部库列表。在这里,我们将更多地关注数据库库 (Python)。以上截图中已对此进行了突出显示。

点击数据库库 (Python) 后,您将被重定向到显示安装说明的屏幕,如下面的截图所示:

Database Library

我们可以使用 pip 安装数据库库,命令如下:

pip install -U robotframework-databaselibrary

在命令行中运行上述命令,如下所示:

Command line Library

库存储在 python lib 文件夹中,如下所示:

Python Library

安装完成后,下一步是在项目中导入库并在测试用例中使用它。

导入数据库库

使用命令行中的ride.py打开 RIDE 并创建用于测试数据库的项目。

testing database

点击新建项目并为项目命名。

Name database

点击确定保存项目。

点击“添加导入”下面的“库”。

 Add Import database

 Import database

输入库名称为 DatabaseLibrary,如下所示,然后点击确定。

Database Library Name

保存后,库显示如下:

Saved Library Name

我们将使用 MySQL 数据库。要使用 MySQL,我们需要安装模块。

命令

pip install pymysql
install pymysql

现在在创建的项目下创建测试用例。

install pymysql

点击新建测试用例:

Test Case pymysql

输入测试用例的名称并点击确定。

我们将使用现有的名为 customers 的数据库。

我们将使用 phpMyAdmin 来显示 customer 数据库:

phymyadmin

我们有一个名为 customer 的表,其中数据分布在 6 行中。现在我们将编写一个测试用例,连接到 MySQL 数据库 customers 并从 customer 表中获取数据。

在开始之前,我们将创建标量变量来保存dbname、dbuser、dbpasswd、dbhost、dbport 和 queryresult 等数据。以下是创建的变量及其值:

queryresult

连接到数据库的命令是:

Connect To Database pymysql ${dbname} ${dbuser} 
${dbpasswd} ${dbhost} ${dbport}
Connect To Database

我们将添加更多测试用例,如下所示:

more test cases

以下是详细信息:

*** 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 表是否存在于数据库中,执行了查询并记录了查询的详细信息。

我们将执行测试用例并查看输出。

See The Output

查询结果显示了表中的结果。

日志详细信息

Query Results

TC1 的详细信息

Details of TC1

结论

我们已经了解了如何导入数据库库以及如何安装它。现在我们知道了如何在 Robot Framework 中连接到 MySQL 数据库并测试表。

广告