- We use selenium, test cases are written in python.
- We use the webdriver, recording never worked
- Followed the page model
- Had to build in retries on getting elements to make tests reliable
- You need upper management buy-in. Took us 8 months to start getting it right
- I would say our team members are intermediate with python
- Devs currently do not write tests. But they asked to start writing which is a good sign
- Yes some days you just spend fixing broken tests. But you get experience on how to write them better over time
Tips:
- Work with devs to get build the page with proper selectors (use ID if not, then us CSS selectors, don't use xpath)
- Use APIs to seed data for your tests
- Get to the page you need to test as fast as possible by hitting the urls directly, using APIs to seed what data u need. Manually injecting cookies to get to the state you need.
Costs:
- 2 full time engineers only working on automation for 8 months.
- Once you have your framework in place writing tests become a lot easier
Yes, I along with my team members have helped my company come from zero automation to decent coverage with UI tests. We have tests that run reliably for Web, iOS and Android.
It has certainly improved our deployment time.
If you describe some of the your problems. I can tell you how we overcome them.