Posts

Automating Screenshot Collection for Language QA

Image
Introduction As the Automation Infrastructure Team Leader at my company, I’m often the go-to person when there’s a task that’s repetitive, frustrating, and practically begging to be automated. Recently, the Translation team reached out with a challenge: automating their manual process of taking screenshots for various language versions of our website. This was the very first step to - how the "Screenshot Assistant" toll was born... I started by understanding their challenge - these screenshots are essential for their workflow. They send them to language QA specialists to evaluate translations against a schema of objective errors. Think of it as translation detective work: finding missing text, bad phrasing, or awkward UI layouts.  The problem? manually navigating through multiple pages and capturing screenshots in dozens of languages was eating up their time and patience faster than my SUV eats gas on a mountain road. As we were talking, I thought about a cool project me and ...

Test Automation, Security, and other vegetables

Image
Automation, Security, and other vegetables What is commonly overlooked when focusing on Quality? In this blog post, I want to delve into an aspect commonly overlooked in the context of Test Automation, and that’s the Security aspect.  As test automation developers, we often overlook the basic fact that we are working on a software project. Just like any other software project, considering security in our test automation practices adds a vital layer of protection to our work environment and helps ensure that our work which was initially meant to save time and help quality efforts, will not provide an easy and accessible breach point to our application.  So, on this note, let’s dive into why security should be an integral part of our automation efforts and explore some strategies to ensure our project is as effective as it is secure.  Analyze the attack surface - Before we can effectively secure our test automation infrastructure, it's crucial to identify and analyze poten...

Safari Automation on AWS - what we learned from the process

Image
Intro It all started with a realization within our automation team: a significant percentage of our product users were browsing our website using macOS and Safari. As we delved deeper into our analytics data, it became evident that we needed to provide our QA teams with the ability to run their cross-browser and cross-platform tests on Safari as well. macOS and Safari bring with them a set of unique characteristics and quirks that can significantly impact the user experience and from a Test Automation standpoint a very challenging platform to support.  What makes Safari so special?  Safari, as the default browser for macOS users, introduces a distinct set of behaviors and rendering nuances that differentiate it from other browsers. From differences in font rendering and CSS handling to variations in JavaScript performance and browser behavior, Safari presents a dynamic testing landscape that requires meticulous attention to detail. Font rendering and CSS handling, for example,...

Sharing is caring - Intro to Jenkins shared libraries

Image
  Whether you're just dipping your toes into the world of automation infrastructure, or already crafting your first jobs to automate your test execution, Jenkins is your new best friend.  In this blog post, we will talk a bit more about the practice of infrastructure as code, its relevance to test automation, and how you can avoid code duplications, align with industry best practices, and enable velocity, maintainability, and collaboration. So, whether you're a seasoned pro or just starting out, let's dive into the world of Jenkins Shared Libraries and see how they can make your life easier. Jenkins Shared Libraries play a crucial role in the realm of Infrastructure as Code (IaC).  So, what are they exactly? Think of Jenkins Shared Libraries as your secret stash of code snippets, neatly organized and ready to be plugged into your pipelines whenever needed. Let's explore the aspect of reusability within Jenkins Shared Libraries: Reusability is the cornerstone of efficien...