Checkly

Berlin, Germany
2017
  |  By Stefan Judis
I'm a bit of an AI skeptic. And even though GitHub Copilot is my daily auto-completion on steroids, I always double-check the code generated by LLMs. If you're using AI for coding, you probably know that the results are sometimes surprisingly good and other times shockingly terrible. Lately, I have seen more and more articles and even docs recommending ChatGPT to generate Playwright tests. Could this be true? Are ChatGPT and friends really that good at generating test code?
  |  By Stefan Judis
Thanks to Microsoft's Playwright, running end-to-end tests with real browsers is quickly done. Initialize a new Playwright project, install all the dependencies, and off you go! Then, any new headless browser test run is only one npx playwright test away. But have you checked all the test command's CLI options? playwright test includes a few real gems to help you create better tests faster. Let me share a mixed bag of my favorite CLI tricks in this post.
  |  By Stefan Judis
In a previously released YouTube video, I explained how and why Playwright fixtures perfectly match with page object models. Combining the two allows you to hide setup instructions and keep your tests clean. Page object models no longer have to be initialized in every test case. To be upfront — I'm a fixture fanboy! But what if you need to pass additional configuration to your page object models? When options are hidden in a fixture, you can't configure how a class is initialized, right? Wrong!
  |  By Nočnica Mellifera
Today I want to show you how you can attach your screenshots directly to Playwright's test reports. Imagine you have a simple Playwright test that navigates to Checkly. You take a screenshot and store it in screenshots/home.png. Then, you click a link in the main navigation, expect a specific heading to be visible, and take another screenshot. When you run this test using npx playwright test, the test passes, and you find the screenshots in the /screenshots directory.
  |  By Stefan Judis
One of our Slack community members recently asked if they could use Playwright and Checkly to detect broken links on their sites. They certainly can, and the answer to this question covers so many different Playwright concepts that it makes a perfect case for sharing Playwright features with the community. Let's unveil some links going nowhere! If you prefer the video version of this tutorial,
  |  By Nočnica Mellifera
You probably know that Microsoft’s Playwright is a solid tool for end-to-end testing, enabling you to control headless browsers and check essential user flows. But did you know that you can also use Playwright for API testing? If you didn’t, then this guide is for you. In this post, we’ll explore how Playwright can be used to test a GraphQL API (but don’t worry if you’re using REST; Playwright can handle any HTTP-based API).
  |  By Stefan Judis
You can write Playwright end-to-end testing code using JavaScript or TypeScript. Which one should you choose? When I started writing my first automated browser tests, I went with JavaScript because I couldn't be bothered with the type wrangling. I just wanted to get something off the ground quickly. YOLO, right? Today, though, there are two reasons why I last wrote a JavaScript-first Playwright test a very long time ago.
  |  By Sara Miteva
Adopting best practices for software deployment is essential to maintaining a high standard of quality, minimizing downtime, and ensuring that your applications meet user expectations. Here are five best practices to help you deploy your software more securely and reliably.
  |  By Nočnica Mellifera
When testing and monitoring websites end to end with Playwright, choosing the right locators is crucial. Proper locators help create tests that are less flaky and more reliable. Let's explore user-first locators and how to filter locators for more robust tests.
  |  By Alberto Gomez
I've been in the observability market long before it even had that name. Over the years, observability has undergone a significant transformation. As someone who has witnessed these changes firsthand, I can attest to the dynamic nature of this field. In the early days, it was largely about basic monitoring: tracking system metrics, lots of logs, and simple alerts.
  |  By Checkly
Can AI generate good Playwright code? Join Stefan as he explores AI-driven Playwright scripting, using tools like the language models ChatGPT and Claude. Watch as he demonstrates the capabilities of Playwright's 'codegen' command and pits it against AI-generated test scripts. Despite initial skepticism, the results from AI were surprising!
  |  By Checkly
Join Stefan Judis, Checkly's Playwright ambassador, as he shows you how to make your end-to-end testing life easier using Playwright's automatic fixtures. Learn how to implement global "beforeEach" and "afterEach" test hooks to add runtime annotation and JavaScript exception monitoring without repeating yourself across spec files.
  |  By Checkly
Join María and Nočnica as we go over three major new features from Checkly: Checkly Traces - integrate OpenTelemetry data from your stack with synthetic monitoring traces Visual Regression Checks - Check for pixel-by-pixel changes to your website Degraded Checks - want to note a problem but don't want it to trigger alerts like a failing check? Try soft assertions and the 'degraded' state.
  |  By Checkly
Join Stefan Judis (Playwright Ambassador) as we explore advanced testing strategies for time zones and timers using Playwright. You'll learn about seamless time zone testing techniques and how to use Playwright's Clock API to manage timers effectively. What we'll cover: Time Zone Testing: Learn how to test across multiple time zones with Playwright to ensure your applications perform consistently worldwide. JavaScript Timers: Discover how to control and test JavaScript timeouts using the Clock API, enhancing the reliability of your scripts.
  |  By Checkly
Learn how to optimize your Playwright end-to-end testing with additional `playwright test` command line options to run only failed tests, make Playwright Git-aware, or avoid running `test.only` in CI/CD. Got questions or tips?
  |  By Checkly
Join Stefan Judis in this Playwright tutorial, where he explains how to make your custom Playwright fixtures configurable using "option fixtures". Stefan briefly explains the fixture concept but then focuses on creating an option fixture configurable on a global, project, and spec file basis.
  |  By Checkly
Join Stefan Judis in this Playwright tutorial, where he explores detecting broken links using Playwright and/or Checkly. Stefan covers essential techniques such as soft assertions, crafting custom error messages for clearer debugging, and using page context-aware requests to check for URL status codes. Whether you're dealing with empty links, nonexistent domains, or 404 errors, this video provides all the tools needed to enhance your testing strategy effectively.
  |  By Checkly
Join Stefan Judis as he explores the concept of decorators in Playwright TypeScript code. Learn how decorators can streamline your coding process, improve test readability, and save you time. In this tutorial, Stefan will demonstrate how to implement decorators within Playwright page object models, starting from scratch. He provides practical examples and insights into decorators, a feature not yet standard in JavaScript but available in TypeScript.
  |  By Checkly
Join Stefan Judis, Playwright Ambassador, as he shows you how to speed up your Playwright test suite execution time for apps behind a login. Usually, login-walled products require you to log in for every test case. However, by implementing project dependencies, setting up a project, and pairing everything with the storage state, you can log into your app once and then reuse the browser and storage state. This setup equips your subsequent tests with essential cookies and browser state, saving time and effort by avoiding repetitive login actions.
  |  By Checkly
At Checkly we’re always trying to help our users find and resolve issues 10x faster, and the OpenTelemetry project wants to enable more observability with open standards. I’m excited to share Checkly Traces, our new tracing solution built on OpenTelemetry, and how it can help you find the root cause of problems in real time.

Downtime caused by API performance has serious business impact. Use Checkly's deep but easy to use API monitoring solution to check your mobile, webapp or IoT API for performance, uptime and correctness.

Checkly is the easiest way to monitor your API's and Browser click flows from a single dashboard. Use a powerful assertions engine to check all your (mobile) API's for timeliness and correctness. Use javascript to check your most crucial browser transactions. Built specifically for developers and ops teams.

We run your checks from multiple global data centers and alert you when things go south with SMS, Pagerduty etc. Add team mates, call checks from your CI/CD pipeline and publish a status page under a custom domain. We also do SSL expiry checks!

Features at a glance:

  • No more broken APIs: Make sure your API is always responds quickly and with the correct payload. Get started quickly with our Swagger or cURL importer and super easy API monitor creator.
  • No more broken shopping carts: Monitor and validate your most crucial site transactions like logins, shopping carts and onboarding flows. Take screenshots to get instant insights into what's working and what's not.
  • Alerting without limits: Keep your team up to date with a generous helping of SMS messages and unlimited email, Pagerduty, Slack and web hook notifications. Control exactly how, when and how often you get alerted. Of course, "double-checking" is enabled by default to never get false positives.
  • Insights without limits: Doing a root cause without complete and accurate data is insane. But too much detail can also be distracting. That's why next to calculating aggregates to keep an overview, Checkly stores each and every raw result for you and your team to dive into.

A better way to monitor your APIs and site click flows.