In the preceding five chapters, we have covered all the important features of RSpec, focusing on unit tests for libraries and command-line tools. Now it is time to build on this foundation to learn how to write end-to-end tests for web applications. In order to test web applications in a realistic way, we need to a way to interact with a web browser in our tests. The Capybara gem allows us to control a variety of browsers from within our test code to interact with a web application and make assertions about the behavior of the application within the browser.
In this chapter, we'll get familiar with how Capybara works, and how it integrates with RSpec. Unlike the preceding chapters, in which we developed the application code alongside our test code, this time we are not going to build a new application but point our browser, via Capybara, to existing websites. This way, we can focus on understanding the test code. Nevertheless, don't worry, we...