Sourced from @playwright/test's
releases.
v1.33.0
Locators Update
Use [
locator.or()] to create a locator that matches either of the two locators. Consider a scenario where you'd like to click on a "New email" button, but sometimes a security settings dialog shows up instead. In this case, you can wait for either a "New email" button, or a dialog and act accordingly:const newEmail = page.getByRole('button', { name: 'New' }); const dialog = page.getByText('Confirm security settings'); await expect(newEmail.or(dialog)).toBeVisible(); if (await dialog.isVisible()) await page.getByRole('button', { name: 'Dismiss' }).click(); await newEmail.click();Use new options
hasNotandhasNotTextin [locator.filter()] to find elements that do not match certain conditions.const rowLocator = page.locator('tr'); await rowLocator .filter({ hasNotText: 'text in column 1' }) .filter({ hasNot: page.getByRole('button', { name: 'column 2 button' }) }) .screenshot();Use new web-first assertion [
locatorAssertions.toBeAttached()] to ensure that the element is present in the page's DOM. Do not confuse with the [locatorAssertions.toBeVisible()] that ensures that element is both attached & visible.New APIs
- [
locator.or()]- New option
hasNotin [locator.filter()]- New option
hasNotTextin [locator.filter()]- [
locatorAssertions.toBeAttached()]- New option
timeoutin [route.fetch()]- [
reporter.onExit()]⚠️ Breaking change
- The
mcr.microsoft.com/playwright:v1.33.0now serves a Playwright image based on Ubuntu Jammy. To use the focal-based image, please usemcr.microsoft.com/playwright:v1.33.0-focalinstead.Browser Versions
- Chromium 113.0.5672.53
- Mozilla Firefox 112.0
- WebKit 16.4
This version was also tested against the following stable channels:
... (truncated)
b64516e
cherry-pick(#22673):
devops: fix workflow publishing2ca4cd0
cherry-pick(#22667):
chore(chromium): remove --disable-sync CLI switch0d61e31
chore: mark 1.33.0 (#22602)64bca22
cherry-pick(#22615):
docs: release notes 1.339a3c4e4
cherry-pick(#22628):
docs: add UI mode doc (#22632)adef765
cherry-pick(#22609):
chore: fix list-fileseed6c33
feat(webkit): roll to r1837 (#22566)05b113f
docs: add warning to locator.all (#22537)62bd419
chore: cleanup bandaid firefox pref (#22570)99d4887
feat(firefox): roll to r1403 (#22540)xl@4*OXexwMR%?05SVxp-mn3@UO%0VFft*>Z@MH#qmpJ1P%}WOh`DY
zX@TeaN{~m6D3$ei8*HA_@3&!vm5*{A xqVfm|gsZwF}e>U8E^enpR<^;6)#SUh!ZY38K
z4;oZGxHd*&DavkS_<+*KqMI{v(+c| 3D k`VVjtqvFkTZ_c-@zZ@3cd#^z7UaJwlfnfx4bC8U#wDdFvwTvn&@#pbsh_vwl}Ri
z&xd25zSu+E&*Y{&dHai+*4y=<(hNw cwf-r--x$++Sid}OiLE<#>KWoP;d**i>`PDVIcoA{%%leOUtaP
zSDK=MuuaE(!xR%pS8`_2#Pxv3%+F;k=bw9u2Yx~yKYC%pW}0wn=ex5T4Rsue)5Kzj
zW?x>{6;ltk+nC%M3>Kp^yoNIKR6{o2UnHutF`~PkXQ;5szOlzF>&?li-78H}0$Aav
zJo3LTKn2#Fr$BldG8hUMC(BjNkMwl^JO>u4=Q4jC9SaVSmU^3OufObG1pK#YFL3?s
zT+&9LezwE`9Ucc&MvQF6v(KfJw~~)ze#{TM#>a|mrt4hWcyx{6mqSNrI&f1c;mQ6X
z_;q_PsI)nBYGiba9{9AFTw@MxBE9pHCt`&A=;o$!pzc
zq=$g6$3F;uXBJNtqHunqJS?qJT+Q1NiyRf @huyFC9+zkk|}%?Vp()tn=nccTc!8734S;opwG9L=Ge)?YHNA8
zob!n2Fo@HPMdGbvgC$u8t?Yf_fjcD)+)DFUq-(i9ov?#`NHl33zNcrQa%`thw1jh=
z_C`Yl%Yw>x2jE*P~=|ZbRm+I#6idy-nbDsXk~pYR+$-5(3gUoy*fk$Iz|g3TW&s`C4Hv
zIUFr=$Fz{Ldb57N2&?e>y?W#tLH~j&09b*%?sEQ1bdEB~oH0$FYG0(;8+}~etT+a#
z;}w_+@gu4hGFLtH8?5DbB1Xn-%T69JQ2ki(e
z-D6}g36nBaZdTw#q?0)37bad$faZU^01NLZzH5Vy!}|hVX)?sMqIS_%97OTt5NTTw
zfJa0@-1?HAx2v4fKm)?U&=v2;n^*%fg$b22EG6OZr`DyiZ@Q~c5XpT&W1J?xHSxI?
zzsI>9MWZ@L#;W#NAH6b$Wx?tJdWgqOywR)_)n(hIe);}k4Lur8?M8
PYz8r*yg!TZipctNB0n&Ygyvz36lSFW&q(6kFP=
zxj4}w3ya%|*ov+lazQ3r%H-ej1xCNh`+8dxBStc;gUYDeDN8Hx28@3tS?whHo5ule
zLwNOcrGD7uPZZU8R9Zv$tO6YaF519uu2qi3p%M~YXxhbNcK5tQJW~h(w-(ChE+R$W
z`o=c0TyOcwRj&`2%!}~*sm&I##^~J94qSH8U8_oUXC}F%eOs|KLX~yE!ppNtL0XfD
z%9M3WZ0(s9f=EB@A2EkX{HF#J3CeYmEm*79VaNeqfAXX8l0!jlqj2uEa%`YpQ7uW7
z-B;BQ)`j#hxP*XYNIpycfk{Zn*!T*#2Kbbo&g1}3P?}9Ph{v$^P06P|~i5a7wv?_<5QvmpV
zaQ$EN_A!#bEN7^-!6E|=RdBr{
#Nfz1CEa&vY5xTu;328N6U<6W)*>*e>OkP76R{zH6=
zHTS-NMq5at-bmaqjoF?thbHF5@Q8#obxJ1Re_iyz!1BERcmbe}`dtI69->@p&Ki=b
zcehIGM
AohX4
zlfjobmd9C2fCsFzYVK0hYO_>`ve*MJIn{I)E01hsi_LqY&wZy7PA?ihM^>^Ya_8yv
zLh}Lu(P7&o86=D(0Tzoe_>e%_D0BY^MN<%Md5dh|$M7S9DV4|A@qW?;3G}O2-&&BS
zaIhM*%C1{LM*O+24sC_g8aH$tEN;p2-AN9r9Umf_`Wzz(ogQ&jPP0!4XG66SbR8#?
zL&_N2ORaVm1J#XGA;25tai`m!Qe;pVxPYgPSAD;(M5*S0wNl^>4dlRvokfHYAoe_(
z1KD}`?l>ALoYK|9v}tp6UE-$rea{l%+*D*Y5ksm_NB7z7ITLw`nlhJ)fCn1M5Qe=w
zn+8Y~$+dpk$UNj09$Jkhdn209r4<(M`=V1<^L6>OtJ~|tVc#v=Vukn0EH$sa`RbOJErE6KT<4Y7ykUp-qQ3II?M%4rE1ZBPp)UI8
z>Cf1G%V&O1lcjeYdo0yFjPBjVeXQL3t@;szGaN$hJFUC*E#s9zut~+*(01
zYSn0xsS~<}ecd$o+k8!%J_;IS_9!^W@)h;2ro+PIC3Ma4y1%{RfDX%fg=+6>d1Mg(
z&U Lz*-Ly(04oP^&swoaf-$k`@;lVEri?#A@(xBrhPX
zj_A=Lmq$yy*q5Ymf~v293<}@BOKjq
z;WdkK+y9u#exyGLF%k7B