There are different levels of automated testing, such as unit, integration or system testing. When dealing with web applications, the act of writing automated tests usually requires a huge effort from developers, like tests that usually open the browser and navigate through the web page. However, the more integrated the test, the more complicated it is to write an easy to read and maintain test code. In this paper, we present a set of patterns that deals with real world problems when writing automated tests for web applications, such as the difficulty in building scenarios and the constant change of the HTML element’s attributes.