I’m working as a system administrator/infrastructure engineer, and sometimes I am wasting my time on checking if everything working properly after infrastructure changes. I want to write some tests, such as:
- Download some CSS/JavaScript code from a website
- Login to website
- Upload some file and try to download it
- Login to a server and execute some script
- And so on.
Most unit testing frameworks focused on unit testing and code coverage, but all I need is just a configurable runner for my tests with nice reporting and may be additional modules for ease of writing HTTP tests. Possibility to use this tool for stress-testing would be an advantage.
I’ve found many names (testoob, functest, robotframework, py.test, etc.), but I don’t know what to choose.
Robot Framework has many nice libraries that would definitely help you – so you don’t have to reinvent the wheel. For example, Robot Framework integrates with the Selenium web testing tool.
I think that from the tools that you mentioned Robot Framework is the most active project – py.test seems to be active also.
One thing that you should notice is that Robot tests are not written in Python directly, but they use a simple text based syntax. You can of course access Robots libraries from Python code if you want to or create your own robot library in Python code.
[DISCLAIMER: I am a member of the team that is developing Robot Framework]