Safari Automation on AWS - what we learned from the process

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, may exhi

Sharing is caring - Intro to Jenkins shared libraries

  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

Intro to Terraform and how it is related to test automation infrastructure

In this post, we will take a closer look at one of the most popular infrastructure-as-code software tools developed by HashiCorp, and if you follow my recent content, that name should start ringing a few bells. So, what is Terraform and why do we need it? Terraform allows you to define and describe your infrastructure in the form of code. To be more specific “HashiCorp declarative configuration language” (or HCL in short). With Terraform you can manage your resources and infrastructure modules like servers, VPCs, security groups, and much more, even if they are located on different providers such as AWS or Azure.  Generally speaking, cloud providers have their own infrastructure-as-code tools like CloudFormation or ARM. But, Terraform has very extensive support for different cloud providers and platforms allowing you to use a single tool for cross-cloud configurations. This makes it easier to manage your resources, easier to onboard and this is a scalable and in general, the “best prac