内容简介
One of my colleagues once described the Ruby community as “Test Infected” and if
any library epitomizes this it’s Capybara, which has gained popularity exponentially
since it was first released. The Ruby community certainly owes its creator Jonas
Nicklas a great deal of thanks for bringing peace and harmony to many test
automation code bases around the globe.
The proof of Capybara’s success is the way in which its use has spread far beyond
just testing Rails applications and now supports testing of many web applications
written in a wide variety of languages and frameworks. Capybara’s functionality
has also been replicated in languages other than Ruby again highlighting just how
powerful the concept is.
So what is Capybara?
Capybara provides a domain-specific language for test automation ; this DSL extends
the human-readable BDD style of frameworks such as Cucumber and RSpec into the
automation code itself. For example, opening a browser and navigating to a URL is
as simple as visit http://google.com. This is a vast improvement over typical
test APIs.
Additionally Capybara allows us to write tests once and run them in any compatible
driver. The driver ecosystem is vibrant and switching libraries is as simple as adding
an additional gem and making a one-line change to your code.
Finally, you can do away with writing bespoke methods that wait for content
to become visible or adding sleep statements to your tests; Capybara handles
asynchronous JavaScript without the user even noticing.
Capybara is quite literally your one-stop shop for test automation.