Robot Framework Python Database Example

Satish Prasad
10 Min Read
Robot Framework Python: Working with Databases

The Robot Framework, a generic open-source automation framework, provides a versatile platform for test automation.

With its extensive libraries and easy-to-understand syntax, it has gained immense popularity among testers and developers alike.

By combining the Robot Framework with the power of Python, you can take your test automation to new heights and seamlessly work with databases.

Setting Up the Environment

Before we dive into working with databases, let’s set up our environment to ensure a smooth experience. Follow these steps:

  1. Install Python: If you haven’t already, install Python on your system by visiting the official Python website and downloading the latest version for your operating system.
  2. Install Robot Framework: Once Python is installed, open a command prompt and run the command pip install robotframework to install the Robot Framework.
  3. Install Database Libraries: To interact with databases, we’ll need the appropriate libraries. Install the necessary Python libraries by running pip install robotframework-databaselibrary in your command prompt.

Now that our environment is ready, let’s proceed to the exciting part of working with databases!

Connecting to a Database

To work with a database in Robot Framework using Python, the first step is establishing a connection.

The Robot Framework offers the “DatabaseLibrary” library, which provides keywords to connect to various databases.

Let’s see how we can establish a connection.

Example: Connecting to a MySQL Database

ย 
            *** Settings ***
Library    DatabaseLibrary

*** Variables ***
${DB_HOST}    localhost
${DB_USER}    myuser
${DB_PASSWORD}    mypassword
${DB_DATABASE}    mydatabase

*** Test Cases ***
Connect to MySQL Database
    Connect To Database    MySQLdb    ${DB_DATABASE}    ${DB_USER}    ${DB_PASSWORD}    ${DB_HOST}
    Should Be Connected to Database

        

In the above example, we use the Connect To Database keyword to establish a connection to a MySQL database. Replace the ${DB_HOST}, ${DB_USER}, ${DB_PASSWORD}, and ${DB_DATABASE} variables with your database details. Once the connection is established, the Should Be Connected to Database keyword verifies the connection status.

Querying the Database

Now that we have successfully connected to a database, let’s explore how we can execute queries and retrieve data. The “DatabaseLibrary” offers a variety of keywords to perform database operations. Here’s an example of executing a simple SQL query and fetching results:

Example: Executing a SQL Query

            *** Test Cases ***
Execute SQL Query
    ${results}    Execute Sql Query    SELECT * FROM users
    Log Many    ${results}

        

In the above example, the Execute Sql Query keyword is used to execute the SQL query SELECT * FROM users.

The results are stored in the ${results} variable, which we can log or further process as needed.

Robot Framework Python Database Example with MongoDB

MongoDB is a popular NoSQL database that offers high scalability and flexibility for storing and managing data. In this section, we will explore how to work with MongoDB using Robot Framework and Python. We will cover connecting to a MongoDB database, executing queries, and performing CRUD (Create, Read, Update, Delete) operations.

Setting Up the Environment

Before we begin, let’s ensure our environment is properly set up to work with MongoDB in Robot Framework using Python. Follow these steps:

  1. Install Python: If you haven’t already, visit the official Python website and download the latest version of Python for your operating system. Follow the installation instructions to set up Python.
  2. Install Robot Framework: Open a command prompt and run the command pip install robotframework to install the Robot Framework.
  3. Install MongoDB Python Driver: To connect to MongoDB using Python, we need to install the MongoDB Python driver. Run the command pip install pymongo to install the driver.

Now that our environment is ready, let’s proceed with connecting to a MongoDB database.

Connecting to MongoDB

To connect to a MongoDB database, we need to provide the necessary connection details such as the server address, port number, and authentication credentials.

Here’s an example of connecting to a MongoDB database using Robot Framework and Python:

            *** Settings ***
Library    DatabaseLibrary
Library    Collections

*** Variables ***
${MONGO_HOST}       localhost
${MONGO_PORT}       27017
${MONGO_USERNAME}   myusername
${MONGO_PASSWORD}   mypassword
${MONGO_DATABASE}   mydatabase
${MONGO_COLLECTION} mycollection

*** Test Cases ***
Connect to MongoDB Database
    Connect To Database    MongoDB    ${MONGO_DATABASE}    ${MONGO_HOST}    ${MONGO_PORT}    ${MONGO_USERNAME}    ${MONGO_PASSWORD}
    Should Be Connected to Database

Create Test Document
    ${document}    Create Dictionary    name=John Doe    age=30
    ${result}    Insert Into Collection    ${MONGO_COLLECTION}    ${document}
    Should Be True    ${result}

Fetch Test Document
    ${query}    Create Dictionary    name=John Doe
    ${result}    Find From Collection    ${MONGO_COLLECTION}    ${query}
    Should Not Be Empty    ${result}

        

In the above example, we import the DatabaseLibrary and Collections libraries to interact with MongoDB. We set the connection details using variables such as ${MONGO_HOST}, ${MONGO_PORT}, ${MONGO_USERNAME}, ${MONGO_PASSWORD}, ${MONGO_DATABASE}, and ${MONGO_COLLECTION}.

ย 

Executing Queries and Performing CRUD Operations

Once connected to the MongoDB database, we can execute queries and perform CRUD operations using the provided keywords. Here’s an example of creating a document, inserting it into a collection, and fetching it:

The Connect To Database keyword establishes a connection to the MongoDB database, and the subsequent Should Be Connected to Database keyword verifies the connection status.

            Create Test Document
    ${document}    Create Dictionary    name=John Doe    age=30
    ${result}    Insert Into Collection    ${MONGO_COLLECTION}    ${document}
    Should Be True    ${result}

Fetch Test Document
    ${query}    Create Dictionary    name=John Doe
    ${result}    Find From Collection    ${MONGO_COLLECTION}    ${query}
    Should Not Be Empty    ${result}

        

In the above example, we use the Create Dictionary keyword to create a test document with the fields name and age. We then insert the document into the MongoDB collection using the Insert Into Collection keyword. The result of the insertion is verified using the Should Be True keyword.

Next, we fetch the test document by creating a query dictionary with the field name set to “John Doe”. The Find From Collection keyword retrieves the document from the collection, and the Should Not Be Empty keyword verifies that the result is not empty.

Frequently Asked Questions

Absolutely! The Robot Framework offers support for a wide range of databases, including Oracle, PostgreSQL, SQLite, and more. Simply update the connection details and use the appropriate database library.

ย 

To ensure reusability, you can define the database connection details in a separate resource file and import it into your test suites. This way, you can easily manage and update the connections across multiple test cases.

Yes, the “DatabaseLibrary” provides keywords to execute stored procedures and functions. You can pass the necessary parameters and retrieve the results using the respective keywords.

Yes, you can utilize the Start Transaction, End Transaction, and Rollback Transaction keywords provided by the “DatabaseLibrary” to perform operations within a transaction. This allows you to maintain data integrity and roll back changes if needed.

ย 

The “DatabaseLibrary” offers keywords such as Should Not Be Empty, Should Be Empty, and Should Match Regexp to perform assertions on the retrieved data. You can compare the actual results with expected values to validate the database state.

ย 

Yes, the “DatabaseLibrary” provides keywords like Insert Into Table, Update Table, and Delete From Table to perform these operations. You can specify the table name, column values, and conditions to manipulate the data.

Conclusion

Congratulations! You now have a basic understanding of how to work with MongoDB using Robot Framework and Python.

We covered setting up the environment, establishing a connection to a MongoDB database, executing queries, and performing CRUD operations.

With this knowledge, you can leverage the power of Robot Framework and MongoDB to build robust and efficient test automation solutions.

Happy coding!

Share This Article
Follow:
Hey there, I'm Satish Prasad, and I've got a Master's Degree (MCA) from NIT Kurukshetra. With over 12 years in the game, I've been diving deep into Data Analytics, Delaware House, ETL, Production Support, Robotic Process Automation (RPA), and Intelligent Automation. I've hopped around various IT firms, hustling in functions like Investment Banking, Mutual Funds, Logistics, Travel, and Tourism. My jam? Building over 100 Production Bots to amp up efficiency. Let's connect! Join me in exploring the exciting realms of Data Analytics, RPA, and Intelligent Automation. It's been a wild ride, and I'm here to share insights, stories, and tech vibes that'll keep you in the loop. Catch you on the flip side
Leave a Comment