We are using Cucumber in our application, but previously used Selenium. Cucumber is far better than Selenium, but it may seems to be complicated since has to write gherkin, step definitions may be page objects.
We are using Celerity with Jruby. The flow is: 'gherkin' calls 'Step definition' calls 'Page objects'.
On one hand, every QA tester writing Cucumber tests will have to be familiar with Ruby in order to use page objects, but on the other hand we can avoid code duplication and repeatedly broken tests.
What are the pros and cons of using page objects with Cucumber? Should we stop worrying about duplicate code in tests and stick with using step definitions instead of page objects?