Testing with Robotframework
Testing with RobotFramework
This is an introduction to testing with the robotframework Python package. In this demo I use Vagrant and Ansible to create a pristine testing environment to run the RobotFramework tests.
Grab the example code from Github first:
git clone https://github.com/kwanlowe/octave_tester
- cd octave_test
You will need Vagrant and Python 3 installed on your host system.
- Install Vagrant
CentOS/RHEL - sudo yum install vagrant
Ubuntu/Mint - sudo apt install vagrant
- Install Python
CentOS/RHEL - sudo yum install python3 python3-virtualenv
- Ubuntu/Mint - TBD
Once these are installed, we can start the test. Make sure you are in the octave_tester directory. First step is to setup the Python environment that will be used for the test. The setup creates a local Python virtualenv then installs Ansible, RobotFramework and the RobotFramework SSH library.
Next, we will build the Vagrant box. I like to use Vagrant, whether to spin up a local instance on my host or on a remote hypervisor (VMWare, AWS, GC2 for example) to ensure that I start from a pristine environment. Now, depending on what you are testing this may be overkill, but I've seen too many hard to pinpoint bugs related to differences in the host setup to discount it. The build-box launches a CentOS 8 environment then hands off configuration to an Ansible provisioning script. Ansible installs the necessary packages and sets up the remote host.
Now we can run the test. The test script runs the robot command from our local Python virtual environment and steps through each, capturing the detail that I need.
One the test completes, results are available in the Test_Results directory. Here is a screenshot of the log.html file from the output directory.
Hope this introduction is helpful to you.