Learn more
Start with intent
Pick resilient locators
Assert outcomes
Make failures observable
Keep tests isolated