Test Automation Featured Unit testing your e2e test framework 'Treat your test code like production code' is a really common saying. Lets tackle one facet of that rule: unit testing your e2e tests
Hiring The Future of Software Test Engineers and Codeless Tools A few months ago I was chatting with Evgeny Kim about some of the reservations I had while exploring a new codeless test automation tool. He was also exploring some codeless tool options and so he invited me onto his podcast to talk about it. We chatted about a wide
CI Running Reflect.run builds in CodeFresh CI For the last few months I’ve been using a no-code UI test automation service called Reflect.run to build out some UI tests (scenarios and such) with the goal of evaluating how well it works in in terms of feedback (and value) as part of our build process. While
JavaScript Upgrading to WebDriverIO 6 In March I went through the process of upgrading to WebDriver v5. Last month I took the next step by upgrading our deployment to version 6 so we’d be current. I learned quite a bit from that first upgrade which made this upgrade a whole lot easier. Here’s
Speaking FAQs to How I Became An Automation Engineer (talk) I’ve given the talk on How I Became an Automation Engineer a few times. Each time I’ve gotten good feedback and a lot of questions from engaged participants. With each repeated question, I try to update my talk to address those points for future audiences. However often I
JavaScript Upgrading to WebDriverIO 5 A few weeks ago I finished upgrading our implementation of WebDriverIO from version 4 to version 5. The impetus for the upgrade was an announcement by the WebDriverIO twitter account of a new beta version 6 to be quickly followed by a finished version (it’s already here). One thing
Speaking How I Became An Automation Engineer Have you ever wondered what an Automation Engineer is or what they do? I’ve never found a great definition so I shared my experiences on How I Became an Automation Engineer and what that first year has looked like: the good, bad and the ok. I also talked a
JavaScript It’s easier to write about tooling It’s easier to write about tooling than it is to write about the decisions we took and models we made prior to choosing it. I can write about a specific test I designed with WebDriverIO far easier than I can write about the strategy taken, oracles used or even
Selenium Installing ChromeDriver on Windows Installing on Windows 7 & 10: The following are the best ways to install ChromeDriver on Windows so you can run Selenium: * The easiest way to install ChromeDriver is to use a package manager such as Chocolatey. You should really have a package manager if you don’t now: 1. Install
Ruby How To Run Your Selenium Tests with Headless Chrome The Problem If you want to run your tests headlessly on a Continuous Integration (CI) server you’ll quickly realize that you can’t with an out-of-the-box setup since there is no display output for the browser to launch in. You could use a third party library like Xvfb (tip
Docker How To Run Your Selenium Tests Headlessly in Docker The Old Way It used to be that in order to get your Selenium tests running on a given machine you had to install each individual browser and then the browser drivers (for instance ChromeDriver for Chrome). Some of my most popular posts are about installing these drivers. However that’
GitHub 8 Tools I use to Accelerate My Testing Inspired by Justin Rorhman’s post of a similar name with a slight twist focusing on tools that generally help accelerate my testing. As a test and quality specialist embedded in an engineering team I have a lot of work to do on any given day. Our engineering team’s
Selenium Good and Bad UI Test Automation explained - Inspired by Richard Bradshaw's Tweets Generally speaking there’s a scary trend with the influx of people interested in test automation where (seemingly) everyone wants to automate at the UI level. For example the phrase “Test automation” seems to be synonymous with UI automation which seems to mean using Selenium. To be fair there are
JavaScript Opting out of A/B Tests while Running your Automated Tests At Laurel & Wolf, we extensively introduce & test new features as part of A/B or split testing. Basically we can split traffic coming to a particular page into different groups and then show those groups different variations of a page or object to see if those changes lead to different
Testing A typical day of Testing (circa 2018) Recently I found myself repeatedly describing how I approach my testing role in a “typical day” and afterwards I thought it would be fun to capture some things I said to see how this might evolve over time: Background * At Laurel & Wolf our engineering team works in 2 week sprints
Education Practice using Selenium Now! Have you ever wanted to learn a little bit about Selenium WebDriver but didn’t know where to start? Turns out there are some good tips / tutorials online for practicing writing Selenium in Ruby. One of those is a newsletter called Elemental Selenium that has something like 70 tips. You
Ruby Installing GeckoDriver on macOS Overview of naming conventions * GeckoDriver is the library you need to download to be able to use Selenium WebDriver with Firefox. These are the Selenium Bindings. * Marionette is the protocol which Firefox uses to communicate with GeckoDriver. Installed by default with Firefox. * FirefoxDriver is the former name of GeckoDriver. Ways
RSpec Selenium-WebDriver 2.53.x not working with Firefox 47 and beyond The problem I’m used to running selenium tests against Firefox locally (OS X Yosemite and now MacOS Sierra) both from the command line using RSpec and when using a REPL like IRB or Pry. I don’t use FF often so when I started having issues I couldn’t
Selenium Installing SafariDriver on macOS Safari + WebDriver aka SafariDriver comes included in Safari 10 which means as long as you have Safari 10 and later versions you can point your tests at Safari and run them without installing anything else. Safari now provides native support for the WebDriver API. Starting with Safari 10 on OS
Debugging Debugging Selenium code with IRB Occasionally something will change in our system under test that breaks a Selenium test (or two). Most of the time we can walk through the failure, make some tweaks and run it again – repeating the process until it passes. Depending on how long it’s been since we last worked
Exploratory Testing Review of The Selenium GuideBook: Ruby Edition tl;dr If you’ve ever wanted to learn Selenium but didn’t know where to start, The Selenium GuideBook is the place (doesn’t matter which edition you use, it’ll be good). Page Contents * 1 Learning Selenium * 2 Book Options * 3 The Book * 4 Applying the Book and
Selenium The Promise and Failure of Record and Playback I came across the below video of Bret Pettichord’s keynote presentation to the Selenium Conference in 2011 called “Science and Stories and Test Automation”. Much of the talk covers his experience with Test Automation, specifically the promise and failure of record and playback over the last 20 years (I
RSpec Running Rspec acceptance tests in TeamCity At work we use TeamCity as our CI service to automate the build and deployment of our software to a number of pre-production environments for testing and evaluation. Since we’re already bottling up all the build and deployment steps for our software, I figured we could piggy back on
Test Design Selecting a few Platform Configuration Tests I’ve been developing a GUI acceptance test suite to increase the speed of specific types of feedback about our software releases. In addition to my local environment I’ve been using Sauce Labs to extend our platform coverage (mostly by browsers and operating) and to speed up our tests
RSpec Screen resolution vs Resizing a window in Selenium The main product I test was designed to follow a responsive web design layout so it could theoretically be used on anything from desktop computers to tablets and smartphones. Practically speaking this means different viewable window sizes (viewport sizes) will result in the browser placing elements of our application in