In robot framework how do you to create object of class and call the methods in corresponding class?

2 min read 06-10-2024
In robot framework how do you to create object of class and call the methods in corresponding class?


Calling Methods of Custom Classes in Robot Framework

Robot Framework is a powerful automation framework that allows you to create robust test suites. One of its strengths lies in its ability to interact with custom Python classes, making it possible to leverage existing code and implement complex test logic. This article will guide you through creating objects of custom classes and calling their methods within your Robot Framework test cases.

The Scenario

Imagine you have a class Calculator in a Python file named calculator.py. This class contains simple arithmetic operations like addition, subtraction, multiplication, and division. You want to use these operations within your Robot Framework test cases.

calculator.py:

class Calculator:
    def add(self, a, b):
        return a + b

    def subtract(self, a, b):
        return a - b

    def multiply(self, a, b):
        return a * b

    def divide(self, a, b):
        if b == 0:
            raise ZeroDivisionError("Cannot divide by zero")
        return a / b

Calling Methods from Robot Framework

To access the methods of your Calculator class within your Robot Framework test cases, you need to import the class and instantiate an object. Here's how you can achieve this:

test.robot:

*** Settings ***
Library  calculator

*** Test Cases ***
Add Two Numbers
    ${result}  Add  2  3
    Should Be Equal  ${result}  5

Subtract Two Numbers
    ${result}  Subtract  10  5
    Should Be Equal  ${result}  5

Multiply Two Numbers
    ${result}  Multiply  4  5
    Should Be Equal  ${result}  20

Divide Two Numbers
    ${result}  Divide  10  2
    Should Be Equal  ${result}  5

This code demonstrates the following steps:

  1. Importing the Class: The Library calculator line imports the calculator.py file, making the Calculator class available within your test cases.
  2. Creating an Object: Robot Framework automatically creates an instance of the imported class when you use its name in the test cases. In this case, an object of type Calculator is implicitly created.
  3. Calling Methods: You can directly call the methods of the object by their names. For instance, Add 2 3 calls the add() method with the arguments 2 and 3.

Note: The Should Be Equal keyword verifies the expected results of each method call.

Advantages of Using Custom Classes

Using custom classes within your Robot Framework tests offers several benefits:

  • Code Reusability: You can easily reuse your Python code, simplifying the creation of your test cases.
  • Modularity: By separating your logic into classes, your tests become more organized and easier to maintain.
  • Increased Testability: Custom classes enable you to write more specific test cases, focusing on individual functionalities.

Conclusion

Integrating custom classes into your Robot Framework test suite empowers you to build powerful, modular, and reusable test cases. By leveraging the benefits of Python class structures, you can significantly enhance the efficiency and maintainability of your automation projects. Remember to keep your code clean, well-documented, and organized for optimal reusability and future development.