All Rubyists should be familiar with the common definitions for include and extend. You include a module to add instance...
Note: This technique is confusing and slows down your test suite. Copy the attached code to features/support. This gets you...
yaml4r is a juxtaposition of yaml documents and their Ruby couterpart. Thus, it does a great job as YAML-doc...
The User-Agent HTTP header identifies the client and is sent by "regular" browsers, search engine crawlers, or other web...
Ever wondered about the difference between def and define_method? Turns out there are three implicit contexts in Ruby. def...
When a controller action redirects to an external URL (like http://somehost.com/some/path) you will find that this is hard...
Unfortunately, Capybara does not offer a switch to disable cookies in your test browser. However, you can work around that...
To set a cookie in your test browser for cucumber tests, you need to know which driver you are using...
The following code doesn't work like expected: page.find(css_selector).find(other_css_selector) The second .find will search...
If you open a pop-up window [1] in your Selenium tests and you want to close it, you can...
If you need to capture signatures on an IPad or similar device, you can use Thomas J Bradley's excellent...
Counters are an awesome CSS feature you didn't know about. It is supported in all browsers and IE8+.
UnicodeUtils implements Unicode algorithms for case conversion, normalization, text segmentation and more in pure Ruby code.
When you accept a table in your Cucumber step definition, that table object will have the cryptic type Cucumber::Ast...
Spreewald now comes with a step that tests if a form field is visible: Then the "Due date" field should...
We recently had a problem on a Memcache cluster, where one of the servers showed a significantly worse cache hit...
Behave.js is a lightweight library for adding IDE style behaviors to plain text areas, making it much more enjoyable to...
Calling bundle update GEMNAME will update a lot more gems than you think. E.g. when you do this...
Calling bundle update (without arguments) updates all your gems at once. Given that many gems don't care about stable...
The Out-of-Band Work feature allows one to perform arbitrary long-running work outside the request/response cycle without blocking...
Axlsx is an incredible gem to generate "Office Open XML" spreadsheet files (XLSX). Does not break on large spreadsheets and...
TLDR: In tests you need to clean out the database before each example. Use :transaction where possible. Use :deletion for...
As attachments to this card you will find a Cucumber feature and supplementing step definition that you can use to...
The basic idea is pretty simple: an element's height is accessible via the offsetHeight property, its drawn height via...