DBUtils

Robot Framework library documentation

DBUtils Documentation

Version 1.5.0 Scope GLOBAL 13 Keywords
Author: Tony StarkMaintainer: Database TeamLicense: MITRobot Framework: >=6.1Python: >=3.8
Sample Usage
Robot
*** Settings ***
Library    DBUtils

*** Test Cases ***
Example
    [Documentation]    Demonstrates using DBUtils
    # add your keyword calls here

Introduction

Database utilities library for Robot Framework.

This library provides keywords for:

  • Database connection management
  • Executing SQL queries
  • Data insertion and updates
  • Query result handling
  • Transaction management

Arguments

host : str
database : str
username : str
password : str
port : int default: 5432

Documentation

Connect to a database.

Arguments:

  • host: Database host address
  • database: Database name
  • username: Database username
  • password: Database password
  • port: Database port (default: 5432)

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Connect To Database Example
    Connect To Database     localhost    mydb    admin    secret123
    [Teardown]    Disconnect From Database

Documentation

Disconnect from the database.

Arguments

query : str
params : Optional[List[Any]] default: None

Return Type

List[Dict[str, Any]]

Documentation

Execute a SELECT query and return results.

Arguments:

  • query: SQL SELECT query string
  • params: Optional list of query parameters

Returns: List of dictionaries representing rows

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Execute Query Example
    Connect To Database     localhost    mydb    admin    secret123
    ${results}    Execute Query    SELECT * FROM users WHERE age > ?    ${[25]}
    Should Not Be Empty     ${results}
    [Teardown]    Disconnect From Database

Arguments

query : str
params : Optional[List[Any]] default: None

Return Type

int

Documentation

Execute a non-SELECT query (INSERT, UPDATE, DELETE).

Arguments:

  • query: SQL query string
  • params: Optional list of query parameters

Returns: Number of affected rows

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Execute Non Query Example
    Connect To Database     localhost    mydb    admin    secret123
    ${count}    Execute Non Query    UPDATE users SET status=? WHERE id=?
    ...    ${['active', 1]}
    Should Be Equal As Integers     ${count}    ${1}
    [Teardown]    Disconnect From Database

Arguments

table : str
data : Dict[str, Any]

Return Type

int

Documentation

Insert a record into a table.

Arguments:

  • table: Table name
  • data: Dictionary of column names and values

Returns: ID of inserted record

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Insert Record Example
    Connect To Database     localhost    mydb    admin    secret123
    ${record}    Create Dictionary    name=John    email=john@example.com    age=30
    ${id}    Insert Record    users    ${record}
    Should Not Be Empty     ${id}
    [Teardown]    Disconnect From Database

Arguments

table : str
data : Dict[str, Any]
where_clause : str
params : Optional[List[Any]] default: None

Return Type

int

Documentation

Update records in a table.

Arguments:

  • table: Table name
  • data: Dictionary of column names and new values
  • where_clause: WHERE clause (without WHERE keyword)
  • params: Optional list of parameters for WHERE clause

Returns: Number of affected rows

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Update Record Example
    Connect To Database     localhost    mydb    admin    secret123
    ${data}    Create Dictionary    status=active    updated_at=${timestamp}
    ${count}    Update Record    users    ${data}    id=?    ${[1]}
    Should Be Equal As Integers     ${count}    ${1}
    [Teardown]    Disconnect From Database

Arguments

table : str
where_clause : str
params : Optional[List[Any]] default: None

Return Type

int

Documentation

Delete records from a table.

Arguments:

  • table: Table name
  • where_clause: WHERE clause (without WHERE keyword)
  • params: Optional list of parameters for WHERE clause

Returns: Number of deleted rows

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Delete Record Example
    Connect To Database     localhost    mydb    admin    secret123
    ${count}    Delete Record    users    id=?    ${[1]}
    Should Be Equal As Integers     ${count}    ${1}
    [Teardown]    Disconnect From Database

Arguments

table : str
where_clause : Optional[str] default: None
params : Optional[List[Any]] default: None

Return Type

int

Documentation

Get count of records in a table.

Arguments:

  • table: Table name
  • where_clause: Optional WHERE clause (without WHERE keyword)
  • params: Optional list of parameters for WHERE clause

Returns: Record count

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Get Table Count Example
    Connect To Database     localhost    mydb    admin    secret123
    ${count}    Get Table Count    users    status=?    ${['active']}
    Should Be True     ${count} > 0
    [Teardown]    Disconnect From Database

Documentation

Begin a database transaction.

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Transaction Example
    Connect To Database     localhost    mydb    admin    secret123
    Begin Transaction
    Insert Record     users    ${data1}
    Insert Record     users    ${data2}
    Commit Transaction
    [Teardown]    Disconnect From Database

Documentation

Commit the current transaction.

Documentation

Rollback the current transaction.

Arguments

query : str
params : Optional[List[Any]] default: None

Return Type

Dict[str, Any]

Documentation

Execute a query and return a single row.

Arguments:

  • query: SQL SELECT query string
  • params: Optional list of query parameters

Returns: Dictionary representing a single row

Raises: ValueError if no rows or multiple rows found

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Query Single Row Example
    Connect To Database     localhost    mydb    admin    secret123
    ${user}    Query Single Row    SELECT * FROM users WHERE id=?    ${[1]}
    Should Be Equal     ${user}[name]    John
    [Teardown]    Disconnect From Database

Arguments

query : str
params : Optional[List[Any]] default: None

Return Type

Any

Documentation

Execute a query and return a single value.

Arguments:

  • query: SQL SELECT query string (should return one column)
  • params: Optional list of query parameters

Returns: Single value from query result

Example:

*** Settings ***
Library    DBUtils


*** Test Cases ***
Query Single Value Example
    Connect To Database     localhost    mydb    admin    secret123
    ${count}    Query Single Value    SELECT COUNT(*) FROM users
    Should Be True     ${count} >= 0
    [Teardown]    Disconnect From Database

Need Help?

Found an issue or have a feature request for this library? Let the maintainers know by opening a new GitHub issue. Please include environment details and relevant log output to help us reproduce the problem.

Open an Issue on GitHub