In this chapter, we saw how we can go further and not only test the responses that our web applications provide, but also that those responses work for real once they are handled by a web browser.
Now that we have covered Robot, we have all the tools we need to test our web applications across all stack levels. We know how to use PyTest for building block unit tests, WebTest for functional and integration tests, and Robot for end-to-end tests involving real browsers. So we are now able to write fully tested web applications, paired with the best practices for TDD and ATDD, which we learned in earlier chapters, and we should be able to build a solid development routine that allows us to create robust web applications that are also safe to evolve and refactor over time.