Writing basic E2E tests
End-to-end tests effectively complement unit tests. Unit tests make no assumptions about the state of the encompassing systems (and thereby require manual work to mock or fabricate that state for the sake of simulation). Unit tests are also intended to test extremely small and often irreducible pieces of functionality. End-to-end tests take an orthogonal approach by creating and manipulating the system state via the means that are usually available to the client or end user and make sure that a complete user interface flow can be successfully executed. End-to-end test failures often cannot pinpoint the exact coordinate from which the error originated. However, they are absolutely a necessity in a testing suite since they ensure cooperation between the interacting application components and provide a safety net to catch the application's misbehavior that results from the complexities of a software interconnection.
Getting ready
This recipe will use the same application...