Great talk! As you mentioned in your presentation, curious to know…how did you measure automation coverage and surface this up to your leadership team?
If you are building a test automation framework from scratch what is the absolute first thing that you build (apart from forming the test/automation strategy)
Literally pasting these out of the readme on our project. Some of these things are specific to our project.
Before you begin, ask the question question if this test is better placed as an unit tests, an integration(api) test, or in fewer cases, an UI test.
Every test should be self reliant and able to run independently.
All tests should leave the session in the same state it found it in or better. By default UI checks assume an authenticated/logged in state from a staff admin user.
All tests should leave the data in the same state it was in.
Test automation should be boring. If your test is clever, it is too complicated and should be split into separate tests.
DRY is not always the best way. The flow of the test should be readable if multiple steps are needed.
Use the DataFactory to create/delete test data.
Use the DataFactory to make assertions on the DB along with assertions on the UI.
For UI specs every page there is an action or assertion, there should be a page object created.
When creating page objects avoid using xpath at all costs (if there is no other way, dev work needs to be done)
Only the feature in test should be in the it block. All other steps should be in the before block. (ruby specifc)