In my experience, my top 3 the following have worked:
KATALON - written in Groovy, this framework is hands-down my favorite in terms of reliability and ease-of-use. I came upon it while researching an automation test solution for my company.
- Can it test cross-browser? YES
- Can it test on mobile devices? YES
- Can it test web services (API)? YES
- Does it take screenshots and post reports? YES & YES
- Can it run in a CI? YES
- Can it work with GitHub ? YES
- Can others collaborate to a project? YES
Python – I have not yet found an out-of-the box solution for anything written in Python, but I’ve written custom tests that have proven super-reliable and quick to run. My learnings for Python are in their infancy, but I have found using a lot of success with http://selenium-python.readthedocs.io/index.html
For API tests, Postman and FrisbyJS have been a godsend.