Touch devices have their own set of events like touchstart or touchmove. Because mobile browsers should also work with with...
When you need test images, instead of using services like lorempixel or placehold.it you may generate test images yourself.
You need to update a lof gems. Make sure you don't have any version constraints in your...
In Spreewald 1.10.4+, nested patiently blocks are now patient. Here is an example: patiently do outer_code patiently do
Form fields can be rendered as noneditable by setting the disabled or the readonly attribute. Be aware of the differences...
Font Awesome version 5 changed some icon names, and introduces new prefixes fab, far, and fas. There is a JavaScript...
To check if a method has been called in Jasmine, you first need to spy on it: let spy = spyOn...
If you try to listen to events on elements that are nested inside a , Firefox will stop event propagation once...
By default, browsers will not wrap text at syllable boundaries. Text is wrapped at word boundaries only. This card explains...
Checking if a JavaScript value is of a given type can be very confusing: There are two operators typeof and...
You are not using javascript tests The file is served from a public folder (not via controller) Problem description...
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...
The linked article shows how to exploit websites that include unsanitized user input in their CSS. Although the article often...
Here is some JavaScript code that allows you to click the screen and get the clicked element's text contents...
Sometimes modern Javascript projects get out of hand. A major culprit in this can be the messy handling of asynchronous...
You should prefer native promises to jQuery's Deferreds. Native promises are much faster than their jQuery equivalent. Native promises...
Native promises have no methods to inspect their state. You can use the promiseState function below to check whether a...
I often see the use of || to set a default value for a variable that might be nil, null or...
Capybara clears cookies before each scenario, but not other client-side data stores. If your app is using localStorage or...
select2 is a great jQuery library to make (large) fields more usable. For Bootstrap 3 there is select2-bootstrap-theme...
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...
ChromeDriver clicking works by simulating a mouse click in the middle of the element's first client rect (or bounding...