Capybara is one option, another one (which is what I use) is Selenium (the Java libraries). That's if you want to test a web application through a real web browser (IE, Chrome, Firefox, Opera), otherwise you can test the application through any other mean you might find applicable (like if you were writing integration or unit tests).
Cucumber is not much about how testing occurs, but about how tests are described.
You can test the facebook login works by:
- writing your tests in a word document and send it to your test team (this is probably understandable by anybody, but probably quite long winded)
- writing your test summary in a word doc and the test data in an excel document and send them both to your indipendent test team (a little more compact, but who reads the tests must know the conventions)
- writing a set of automated tests in any programming language you might find fit for the purpose, like using Java and JUnit (that requires programming skills to be understood)
- writing your tests in a plain text file and have it automated using a programming language of your choice among those compatible with the JVM (this is where CucumberJVM fits in as it provides the magic gluing between the text file and the automation code)
In the end you are still testing the facebook login page works, but we believe the last option is the one providing the best readability and being capable of automation. How you do the automation is out of scope, but because web applications are so common it's quite easy to find stuff and help on that ;-)
Have fun,
Roberto