Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Playwright can do this?
Search
stefan judis
March 30, 2023
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Playwright can do this?
Learn why Microsoft's testing framework is a stellar solution to test your sites end-to-end.
stefan judis
March 30, 2023
More Decks by stefan judis
See All by stefan judis
Back to boring (part 2)
stefanjudis
0
400
Things you should know about Frontend Development in 2022
stefanjudis
0
580
Throw yourself out there for fun and profit
stefanjudis
0
150
Back to Boring
stefanjudis
1
550
Wanna scale up? Make sure your CMS is ready for it!
stefanjudis
0
300
Did we(b development) lose the right direction?
stefanjudis
6
2.2k
Regular expressions – my secret love
stefanjudis
1
1.1k
Write a Function
stefanjudis
0
640
React in a worker, worker, worker...
stefanjudis
2
620
Other Decks in Technology
See All in Technology
Adversary Infrastructure Hunting101
disconinja
0
160
AIコーディングを実践してきた1年を振り返る / Looking Back on a Year of Practicing AI Coding
takedatakashi
1
140
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
3
1.1k
Draft AIエージェントの トークン消費を最小化する 8つの原則
kinopeee
5
1.7k
「Learning Outcome」を書きたくない私が、Learning Outcomeと折り合いをつけるまで
mhlyc
0
240
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
100
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
170
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
4
2.4k
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
270
AWSDirectConnectの構築の進め方を整理してみた
masa_my
1
200
1週間、Opus封印でお願いします
kintotechdev
0
170
契約で守るコンパウンドプロダクトのデザインシステム
yug1224
1
1.4k
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
470
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
The Limits of Empathy - UXLibs8
cassininazir
2
730
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Ruling the World: When Life Gets Gamed
codingconduct
0
420
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
740
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
Visualization
eitanlees
153
17k
Transcript
@stefanjudis Playwright can do this?
Does anyone remember this friend?
Or this one?
@stefanjudis stefanjudis.com | webweekly.email Heyo, I'm Stefan! checklyhq.com GDE |
Playwright Ambassador
webweekly.email
The idea of end-to-end testing was great!
But it was terrible.
Tests were slow, hard to write and fl aky.
We run the tests on demand. My colleagues & I
We gave up. :/ My colleagues & I
Things got a lot better
Playwright is cross-everything
Playwright is cross-everything
Run your tests in VS Code
Very solid typings
More than a browser control / / @ts - check
import { test, expect } from "@playwright/test"; test.describe("navigation", () = > { test.beforeEach(async ({ page }) = > { / / Go to the starting url before each test. await page.goto("https: / / playwright.dev/"); }); test("main navigation", async ({ page }) = > { / / Assertions use the expect API. await expect(page).toHaveURL("https: / / playwright.dev/"); }); });
Easy to parallelize npx playwright test - - workers 4
/ / playwright.conf i g.js import { def i neConf i g } from '@playwright/test'; export default def i neConf i g({ workers: process.env.CI ? 2 : undef i ned, })
Built for quick execution const button = page.locator('button') await button.click()
await expect(button).toBeHidden() Auto-wait and web- fi rst assertions make waitFor statements redundant.
A very fast release cycle
Let's have a look!
Auto-wait Web- fi rst assertions Screenshots Test runner Retries Tracing
VS Code extension Inspector Debugger Codegen Image Snapshots Native UI
Weekly Playwright tips youtube.com/checklyhq
There's no silver bullet when it comes to e2e testing...
... but Playwright is a stellar solution!
Treat your UIs like your APIs.
APIs are measured with the number of nines — 99.999%.
Your entire application should be tested all the time!
Account create Account login Account update Account delete 99.999% 99.1%
99.8% 99.94% Stellar frontends with con fi dence
blog.checklyhq.com/how-playwright-can-monitor-third-party-resources/
End-to-end monitoring should be your safety net.* * Your future-self
will thank you!
Start shipping with con fi dence! * Your future-self will
thank you!
@stefanjudis www.stefanjudis.com webweekly.email Thanks!