The python path to software test automation
Automation is the key to success in today’s rapidly changing world. When it comes to the software industry, test automation has become a necessity to meet quality standards and to reduce the time to market. Test tools/frameworks are to be assessed carefully and choose the one which works well for the project. I would choose tools/frameworks based on python as it is the most loved programming language among software developers for its simplicity, flexibility, and endless capabilities. Here are a few links that are very useful to learn about software test automation using python.
pytest
Introduction to pytest
Behavioral Driven Development with pytest-bdd
Web testing using Selenium + pytest + python
Web testing using Appium + pytest + python
Use pytest for testing if you want to have: Unit tests, API tests, Integration tests, GUI tests(in combination with selenium, Appium), Continuous integrations
Pros:
Opensource, Easy Setup, Highly flexible, Integrated approach to test automation (library from API testing and GUI tests can be shared), Easy to learn, Parallel execution, Inbuilt report, Supports BDD
Cons:
Designed for developers to write unit tests. Keywords design needs prior python knowledge
Robot Framework (Selenium with robot framework)
Pros:
Opensource, Easy Setup, Highly flexible, Integrated approach to test automation (library from API testing and GUI tests can be shared), Easy to learn, Designed for testers who do not know coding, Parallel execution, Inbuilt report, Supports BDD
Cons:
Loops and conditional statements are difficult to handle in robot framework keywords
Opensource Cloud-based test automation and test management solution
Pros:
Open-source, Easy setup, Good community support, Comes with multiple SDK such as java and python, Supports most of the automation types such as Mobile, web, API, etc, Very good test management features including test reports and dashboards
Cons:
No on-premises solution is available. Tests are hosted in the public cloud which may be an issue for most of the reputed companies who do not want to save their critical test data on the cloud