Robot Framework System Profiler
Project description
Formulated Autoamation RPA Resources
- /r/OpenSourceRPA
- OpenSource RPA LinkedIn Group
- FormulatedAutomation's YouTube Screencasts
- Formulated Automation Podcast
FormulatedAutomation-Profiler
Introduction
The purpose of this project is to record a snapshot of the runtime environment for an automation workspace. This includes recording installed applications and their versions on the machine. This is especially useful when automations stop working and allows for rapid debugging of machine prior and current states.
⚠️ This project is currently a work in process and should not be used in production environments. ⚠️
Installation
- Create a virtual environment
- pip install fa-profiler
Usage
Profiler
*** Settings ***
Library FormulatedAutomation.Profiler
Suite Teardown Teardown
*** Keywords ***
Teardown
Write Profile
If you look in the 'output' directory (which is the current directory, or whatever you speficy at runtime), you'll find an fa_report.yml file. In this file is a profile of the system you ran on, which includes things like
- Python version and installed packages
- Environment variables
- Robot Framework variables (Secrets omitted)
- Installed programs(on Windows)
It's organized in a way that makes 'diffing' it with a previous report trivial and therefore makes it easy to see what's changed between runs.
Omitting secrets from the profile
There's a good chance you're setting a varaible to something you don't want listed in the logs. In order to prevent secrets from leaking, Profiler will 'redact' any variables with 'secret' in their name. This will later be configurable.
Debugging
The Formulated Automation Profiler also includes some basic debugging tools.
*** Settings ***
Library FormulatedAutomation.Profiler
Suite Teardown Teardown
*** Keywords ***
Teardown
Pause On Failure # Launch a Dialog to pause execution whenever a task fails
Write Profile
*** Keywords ***
Some Task
Set Breakpoint # Pause execution and drop to Python's 'pdb' debugger
Do Some Other Task
Pause for Debug # Pause with a Dialog regardless of failure
Pause on Failure and Pause for Debug only occur if the environment variable 'ROBOT_DEBUG' is set to TRUE. This prevents pausing in production if the keywords are accidentally set.
Command Line Example:
Powershell: $Env:ROBOT_DEBUG = "TRUE"; robot -d output -P src tests
Bash: ROBOT_DEBUG=TRUE && robot -d output -P src tests
Testing
This library expects teh ROBOT_DEBUG environment variable to be set. You can do this however suits your platform:
Powershell: $Env:ROBOT_DEBUG = "TRUE"; robot -d output -P src tests
Bash: ROBOT_DEBUG=TRUE && robot -d output -P src tests
Execute the tests in this project:
robot -d output -P src tests
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fa-profiler-0.1.1.tar.gz
.
File metadata
- Download URL: fa-profiler-0.1.1.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dddd7700276d811d65d0b060330a04a99d2f0d80da470c0e178c74f44ef49de1 |
|
MD5 | b6999da1e24229dff5cbed46db8c102d |
|
BLAKE2b-256 | 8aa7d432ccabac197fd736c153ebcffd643da325091021c464c1e2569b0c9d91 |
File details
Details for the file fa_profiler-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: fa_profiler-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc3b9068856b92373223cc95cd13531cee6ab88809361a094c2c13e23d113a1f |
|
MD5 | df2a3b96802a8c9a073736b1aac94447 |
|
BLAKE2b-256 | 3abc31a9f043451434468a635ba925475f28dc55266db93082b7013e1280ac4e |