I was recently tasked with measuring the impact of a Redis cache on an e-commerce site. This was pretty simple with Azure Load Testing, by comparing the results of 2 sites, one with cache, and one without. However, to better exercise the site and understand the user experience, I wanted also to use Playwright.Continue reading Measuring Website Performance with Playwright Test and Navigation Timing API
6 Nifty GitHub Actions Features 🚀
I’ve been having a lot of fun with GitHub Actions lately and wanted to document some of the features I regularly use, including some tips and tricks.Continue reading 6 Nifty GitHub Actions Features 🚀
Handling Azure AD Authentication with Playwright
One of the most frequently asked questions I get is how to test web apps that use Azure AD. Rather than repeating myself, I figured I’d write a blog post to expand on the official docs.
NOTE: the creepy feature image for this post was generated via DALL-E🤣Continue reading Handling Azure AD Authentication with Playwright
25 reasons to choose Playwright as your next web testing framework
I wanted a place to capture a list of highlights that make Playwright awesome. Here it is, in no particular order:Continue reading 25 reasons to choose Playwright as your next web testing framework
Create resilient 🎭 Playwright e2e tests with locators
Modern web apps introduce some testing challenges — dynamic controls can cause flakiness and unexpected behaviors. This is where the magic of the Playwright locator API can help us build more resilient tests.Continue reading Create resilient 🎭 Playwright e2e tests with locators
Publishing 🎭 Playwright test results to GitHub Pages
Now that Playwright has a fancy new HTML reporter, I wanted to host test results to show the latest state of my GitHub Action test runs. Adding a step to my pipeline that publishes the results to GitHub Pages made this pretty simple.Continue reading Publishing 🎭 Playwright test results to GitHub Pages
💪 Azure Bicep CI/CD 🚀
Hey, you. You’re not manually deploying your Azure Bicep Infrastructure as Code, are you?!? Let’s prevent that next production outage, help your team collaborate on changes, and enable more frequent deployments. In this post, I’ll outline what tooling is available to integrate Bicep in your pipelines, and some good practices for building and deploying.Continue reading 💪 Azure Bicep CI/CD 🚀
Using Terraform’s Azure provider (azurerm) with GitHub Actions and Terraform Cloud
I wanted to document this after spending a frustrating amount of time troubleshooting getting this setup. I was getting this error when running Terraform Plan:
Continue reading Using Terraform’s Azure provider (azurerm) with GitHub Actions and Terraform Cloud
Error building AzureRM Client: obtain subscription() from Azure CLI: Error parsing json result from the Azure CLI: Error waiting for the Azure CLI: exit status 1: ERROR: Please run 'az login' to setup account.
Reasons to use Bicep over Terraform
Why would you choose Microsoft’s new Bicep DSL over HashiCorp’s Terraform? I would like to give you my perspective, as someone who ditched ARM templates for Terraform in most of my Infrastructure as Code projects. To set the context of this blog post, I’ll be talking about Azure focused customers. Also, I won’t be going over the basics of what Bicep is (that can be found in README here) or comparing it to other IaC solutions like Pulumi or Farmer. If there is interest, I can cover those in another blog post. This will be a direct comparison to Terraform.
Note: Opinions expressed are solely my own and do not express the views or opinions of my employer.
Azure Pipelines: YAML Templates VS. Custom Tasks
There are two main ways to create re-usable components for Azure Pipelines. I’ll review the pros and cons of each and talk about when it makes sense to use one over the other. Keep in mind that the two are not mutually exclusive, so it may make sense to use a combination of both.Continue reading Azure Pipelines: YAML Templates VS. Custom Tasks