An end-to-end test (E2E test) is a script that remote-controls a web browser with tools like Selenium...
Slides for Henning's talk on Sep 21st 2017. Understanding sync vs. async control flow Talking to synchronous (or "blocking...
If you are using PDFKit / wkhtmltopdf, you might as well want to use custom fonts in your stylesheets. Usually this...
Download the dictionary from http://www.winedt.org/dict.html, e.g. http://www.winedt.org/dict/de_neu.zip unzip de_neu.zip mkdir ~/Documents/dic iconv -f UTF-16 -t...
RSpec allows defining methods inside describe/context blocks which will only exist inside them. However, classes (or any constants, for that...
After loading a staging dump into development, you might get an ActiveRecord::EnvironmentMismatchError when trying to replace the database (like...
You need to disable "Bluetooth low energy", then follow these core steps: Make sure the headphones are in pairing mode...
Use return to return from a method. return accepts a value that will be the return value of the...
I frequently find myself needing a combination of group_by, count and sort for quick statistics. Here's a method...
There are many approaches out there how you can import data from a legacy application to a new application. Here...
Native promises have no methods to inspect their state. You can use the promiseState function below to check whether a...
You can not use the hash_including argument matcher with a nested hash: describe 'user' do let(:user) { {id: 1...
When using geordi for integration tests you might get the following error when trying to run geordi cucumber:
select2 is a great jQuery library to make (large) fields more usable. For Bootstrap 3 there is select2-bootstrap-theme...
Capistrano has the concept of a "rollback" that comes in really handy in case of errors. When you notice that...
Webpack is the future. We're using it in our latest Rails applications. For tests, we want to compile assets...
I needed to make sure that an element is visible and not overshadowed by an element that has a higher...
This card will show you a cool way to define a class using Struct.new. A common usecase for Structs are...
Rails default config uses the ActiveSupport::Cache::NullStore and disables controller caching for all environments except production: config.action_controller.perform_caching = false...
Shoulda Matchers don't provide canditional validations (validations with if: option). Here is how to write tests for the condition...
Nowadays it is fairly easy to intercept and modify mails globally before they are sent. All you have to do...
ChromeDriver clicking works by simulating a mouse click in the middle of the element's first client rect (or bounding...
When you have a multi-server setup, you'll be adding a new server from time to time. Before doing...
Typhoeus has a different way of representing array params in a get request than RestClient. Typhoeus: http://example.com/?foo[0]=1&foo[1]=2&foo[2]=3