From 398b6cf3c00b55042edb3d8a6c1818992e4cc396 Mon Sep 17 00:00:00 2001 From: dprevoznik <58714078+dprevoznik@users.noreply.github.com> Date: Fri, 2 Oct 2026 11:43:09 +0000 Subject: [PATCH 1/5] Add e2e integration guide --- docs.json | 1 + integrations/e2e.mdx | 52 +++++++++++++++++++++++++++++++++++++++ integrations/overview.mdx | 1 + 3 files changed, 54 insertions(+) create mode 100644 integrations/e2e.mdx diff --git a/docs.json b/docs.json index 5e523bf8..f6dc7bb4 100644 --- a/docs.json +++ b/docs.json @@ -285,6 +285,7 @@ ] }, "integrations/hermes-agent", + "integrations/e2e", "integrations/laminar", "integrations/replit", "integrations/stagehand", diff --git a/integrations/e2e.mdx b/integrations/e2e.mdx new file mode 100644 index 00000000..fbc3b894 --- /dev/null +++ b/integrations/e2e.mdx @@ -0,0 +1,52 @@ +--- +title: "e2e" +description: "Run agentic end-to-end tests in Kernel cloud browsers" +--- + +[e2e](https://e2e.tester.army/docs) is an end-to-end testing framework for web and mobile apps. It combines natural-language agent actions and assertions with deterministic locator assertions. With the Kernel browser provider, your web targets run in hosted Chromium. + +## Install the provider + +Install the Kernel provider and SDK alongside e2e: + + +```bash npm +npm install --save-dev @e2e-dev/kernel @onkernel/sdk +``` + +```bash pnpm +pnpm add -D @e2e-dev/kernel @onkernel/sdk +``` + +```bash bun +bun add -d @e2e-dev/kernel @onkernel/sdk +``` + + +## Configure a Kernel browser + +Use `kernel()` as the browser for your web target: + +```ts title="e2e.config.ts" +import type { E2EConfig } from "e2e"; +import { web } from "@e2e-dev/web"; +import { kernel } from "@e2e-dev/kernel"; + +export default { + targets: [ + { + name: "kernel", + engine: web({ browser: kernel() }), + app: { url: "https://staging.example.com" }, + }, + ], +} satisfies E2EConfig; +``` + +Set `KERNEL_API_KEY` in the environment where `e2e run` starts, such as a CI secret. By default, e2e leases one hosted browser per worker and releases the browsers when the run ends. Use `scope: "attempt"` in `kernel()` when each test attempt needs its own browser. + +For browser options, scopes, recordings, downloads, and cleanup behavior, see the [full e2e Kernel integration guide](https://e2e.tester.army/docs/integrations/kernel). + + +See the [e2e + Kernel cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/e2e-kernel) for a complete runnable example. + diff --git a/integrations/overview.mdx b/integrations/overview.mdx index 4f9ffdc9..522b4ecc 100644 --- a/integrations/overview.mdx +++ b/integrations/overview.mdx @@ -31,6 +31,7 @@ Kernel provides detailed guides for popular agent frameworks: - **[fx](/integrations/vercel/fx)** - Give Vercel's fx coding agent a Kernel cloud browser via MCP - **[Browser Use](/integrations/browser-use)** - AI browser agent framework - **[Hermes Agent](/integrations/hermes-agent)** - Run Hermes browser tools on Kernel cloud browsers +- **[e2e](/integrations/e2e)** - Run agentic end-to-end tests in Kernel cloud browsers - **[Claude Code and Desktop](/integrations/claude/claude-code-and-desktop)** - Give the Claude apps a Kernel browser via the marketplace plugin or MCP - **[Claude Agent SDK](/integrations/claude/claude-agent-sdk)** - Run Claude Agent SDK automations in cloud browsers - **[Claude Managed Agents](/integrations/claude/claude-managed-agents)** - Run Anthropic's hosted agent harness against cloud browsers From ed7d8d7dd2bcef6b8c4c7cce6f2186c7f07e8b35 Mon Sep 17 00:00:00 2001 From: dprevoznik <58714078+dprevoznik@users.noreply.github.com> Date: Fri, 2 Oct 2026 11:49:14 +0000 Subject: [PATCH 2/5] Add e2e sidebar icon --- integrations/e2e.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/integrations/e2e.mdx b/integrations/e2e.mdx index fbc3b894..df1294db 100644 --- a/integrations/e2e.mdx +++ b/integrations/e2e.mdx @@ -1,6 +1,7 @@ --- title: "e2e" description: "Run agentic end-to-end tests in Kernel cloud browsers" +icon: "code" --- [e2e](https://e2e.tester.army/docs) is an end-to-end testing framework for web and mobile apps. It combines natural-language agent actions and assertions with deterministic locator assertions. With the Kernel browser provider, your web targets run in hosted Chromium. From 58d1db160f892cf8f85545f0f57c2a24f39744d9 Mon Sep 17 00:00:00 2001 From: dprevoznik <58714078+dprevoznik@users.noreply.github.com> Date: Fri, 2 Oct 2026 12:03:06 +0000 Subject: [PATCH 3/5] Use e2e cookbook logo in sidebar --- images/integration-icons/e2e.png | Bin 0 -> 4778 bytes integrations/e2e.mdx | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 images/integration-icons/e2e.png diff --git a/images/integration-icons/e2e.png b/images/integration-icons/e2e.png new file mode 100644 index 0000000000000000000000000000000000000000..960d0de0673855e30464c5bbd53e4f5737482a49 GIT binary patch literal 4778 zcmV;b5>@SqP) zd7M>c8OOiiAOo@vE|D9k7^0{kqN0eA1(-`xZe?Ma?Iq-{mA0sv@xde{Q!B!a+(`Q< zF1eJs(1MbHN|qawA__AsGnPqz{O*n0aPQoE&UxPRo^#Lnem?I9#JSJ=%(?G#-tAes z0Nu!`2X+T`1%?*>z6;O~=ml(5__I&pXWs(W720ZG4X~onnt@k=VJIqKsX;0fS&!2Q6Rj{3=QNN(imq8D&7@KIo#hyLdS*8_KY=sPDQxsj)X zF~DblA;@86{)~l;HSXFXn&uRKyo8bCffl& z1Wxd+NR2cD(||jCE0VK0xsfN2F9P3X(@A)mcmVhU@Um}3ayF40d2;9v%mF6)RwN?p zfls4Dx|{^i)wcpU0PGJeBK-yqx|9DE+NbB^D*@y)xqnUtX8Tsc5f7ppf!wLaBe{|L z<@3Ny-%2=U5%58BL-$5*CUbNWN$C!xXY(-~c0ldx0Ll70DvG zk;l(I)bAd=Ge)DsxSW{Dm+SG;16T~~>{}5}Yy`#v3w=aX9uL6$%4*}1kK$6x%Ye6ov{R*uw zIvCpz?VERvLBBSX)FO{hkAd9C<*j_e9A(pPPn4bPmW`9 zBX>^|upH>^Nd9ZUWx#bnyP@12f$sq)8OkiB4W+93rz80}1(IUqjp%A=1h50jfYJ-- zS@^R%T5_%_v{h(H`VZix!rzn14}htTWIv3I(B-msB5*Y@(1GlWfp0sI>xxETZ(v`v z^(yAhEB@JtwnS^t%BtfyeI;&%!Jm;22M$Ghz`co{6rmOPHE=6%PefVPypAHwteF9v z<3MgX`T(~8?>CnFJg}FsOiPBLG+U$5BotNGwJ3Gg9mJSID=s4+h)$OeMGtLjhkdO_ z#(pjEq{Dt{VKQ*D1GzV#aL%~78#vrp=3dCylfZUt8mI5a?Ko{i;kZ`=k2&nexsmS- zoQoo@e6Sd}3b+y5{c5eu2aYh7`80AU@$vf%Kz``&F_if&;QNO1!muN7CQ8`hgJ)6B zyg4}dUR@da5a1iQJG2SPO0+lrDe)P{0NflZ?S|jXD<=ZKG?cdxIK)t15C)-1=rf-B z@5pMj4Z9N9U?tSr8Kw!nk(Q7g0|(d^TM6l{kUQV3hW6*6eB+mxQ%2~^oYVqD3x%Nq0H^klFN#9zyd>g7A!K9 z<-*aX$XV!?V=IS!#K9-f@_n129}H{cb4Zt`QZ>e)!hYKs$+KP#-ft|=f+dEsEMJJF zTtj_jjU9!2Kei9@p`gEf16npF>EzssK`6VZ#elOOw3f4`6>AJ-S)b)>fmWGQjO8YQ z9f11?u<{IIzt78^AenYEEWYb?)#)rPYA8OquMMdGm(H6l{MZ4K7_6ab2eux zauv4VaTK@|g^9!%*_ALR0l%&EKda5;@5R{KBE0!z1cfZ*8LS^Zil; zUB2Y-doLZQpF#(!QJ&ifW#aR!&!+^g#(073YUDMot zWBh!_h16pJ+Df?^rw^eQn)UM=hYnM%^?kTPe`Wu1mZOK(hL+bZ2Vh_1uw$+JVUG1q zOFPK;xo(J{%XA0dbFrQ5_&N4Q?zYx?Z}w6ucTfI4v;?wd1=`2m?m%`a8_@peYGb+6 zjOC?~M�L$rB+zHyHT3r6L8IQE<^b2eM0P2aZDtA}pEO@gK?=xr>|MxfXd_SrRt!<|U?Dh(#!g#Ucl?D{&@@GP7a=nyCLrM{)(Zjv@snx-hte?AwDx0d#|=9Q4RHKH#;skhj7oK5~r8`M@J*K zu9~q7I1*bI$e?@$yD!dlRgt7J7p;t}nMb&nzjaNy<;bCAy|LUNd<_-Ku;64$Lcm=b zc^h&uG)qVqk{0aB@$|-irITd(pcC5@9LW#6HMBJH;@;TGwKgp4u{-x^L@zDi|Bd`` zY`t_YL2t+;a3gl{&mS?8lXM0Fe?YPJF1Uek-^o~P%Rm1RrC3S=x1qFT7ECVwrPRo$ z7zqcRP+nmu&w}q6$vGB78l9t@gWI%T7ZN@x<>cx=QZtv~_q?bazriN$ zb{`65t%^oIhUkeBimb-|F4c;f;%{qUypf!wFc1x{TXCCj4RqTwGvsIY#jZMR3-WnS zB33s-<6)DLTLv4*0!5hFSxGC$D8+kYeHjw;fXHu~)pb&-AfQyJPlWjR3KrW}N z9Ldj(JRH3nfPWA@C2o=ZvGbfuI!UPJIuR|6trIx}qcXFNyb+>+)ttq zO`it-0*Z1vj`SHgWNVyuw=6UVD!Y^w;*MS#h>}zKH10QmZ=j+ZIq9G!pUJ}$r;(q6 z|JnOWv=yrd1JBZA)Sl1e;fcd7vODk-;1eWtDJaABunFTg|8Fh zdcf7G@>Jwl61Rar4SWEl(5`0#&l=6vGkKP}4dd8}M%;n6Hpg8YI)qc>J-vXZ{9e3SFVducIB|22h0{1ka6ftKR37mp5 zj^qU69^B{brPIr<`J)fKL89TT?P)e z<8*|fti)q&#v*{A# zP?MB$Kw)S^+YAfZNmi(^Q@WxDXZ2?9i=SL#X=7jFGw`d?%#~&X2N~vzMzR{wbzvqb z-jn~%Q08%lvg(m0;EtI3IvY17hkap{j~w7cLs^NYXyleTsE?<<3j#)E269<-$=j%S z!WEADiJJ!uWlg3~5U}1U8u@*OGMgwATFcpt@hAtmOIlEl^}8JR;{!`0?~TfJ*FB|~ zVg8C;4)(`@!;EBEvJBYONY~QuR}!(>)F5o?lqLPAF9umB*tKyLTy3mOg<8L z!ch29l9fkm0d^&a|4OhT5>3Ez?8;GuP_rw41$w5B7 z)~R)U&oDz!cFwH~WgbfHtDbFe8vybIwk3Vjz!cybW0}WbR~I}CgMmL`I~hy>9_nc1 zJ%QIz+94}ifYB(wd)y2_Z+*+e{4Wx$_}&?4rgg!8P))Dr9m!8B-GSGzeQ~b?4#dy1 z><2uK?U_+CdU0&*m^5MoFvqYXkQdzD#9yhUC%Q(muDo$wz@Im9_$F?P%MT{lA=*p0tA2VCb~Wshz!Koi5TCPjaO%hlC>(gMvD^!Q z3yo!#@;*A8fpx3UjzP;)m+ckceB=O7NsnsnV6-<~7SHwXZIthOqJ=9mwNq;l25?w_#71~H-M28Sh zo$!^&2_r~V&5O{$$f=FvPyxj-{22J0p)Q@#hOT5w$LVWm8}~Xo(;9%EaoU0o4mVp7 zb@uk@i>7_wZ+YMCgeuReTw9m`z0=f=5AlqPtvA{N`u-h!w<+bGPqn=38wwBqohm<9 z&)f;z9`G}bWGuyyXWG#?%}NH=ax6dx!<$h{afPRVb1k(=5v!3GU{FQ^c~1Layc_ZJ zOGu6zb=6EMQU1=NeSvDNFnZPbMdQ>mZImyTps?*gL0(Z$G+R(oh%-pm2sulIzf_TpaYKy$p70Hw*g0?hc<)s?#Xi8a05DY9gkn%i23N;U?<=Q*i~@tG--r2J%A4a zN20xOe@Fc+0UkkBT<#^?*;8_Y(}>3Dhf(c#SL1XkDm3~i$`G^KQ9rR7c}EUJx!DJ! zOcuML3?H@TmTN^>L6)Hh_6&+g4-)g8lT(e+sQAJzC~w+sg;wi0T}%0KYBp0>!>5r~ zq7kLq?N##UmS~y1w$NG$dD57ZV?=SBmX6i#BygPm7hvR*@|C}ks{jB107*qoM6N<$ Ef~SZa(EtDd literal 0 HcmV?d00001 diff --git a/integrations/e2e.mdx b/integrations/e2e.mdx index df1294db..3f570306 100644 --- a/integrations/e2e.mdx +++ b/integrations/e2e.mdx @@ -1,7 +1,7 @@ --- title: "e2e" description: "Run agentic end-to-end tests in Kernel cloud browsers" -icon: "code" +icon: "/images/integration-icons/e2e.png" --- [e2e](https://e2e.tester.army/docs) is an end-to-end testing framework for web and mobile apps. It combines natural-language agent actions and assertions with deterministic locator assertions. With the Kernel browser provider, your web targets run in hosted Chromium. From f3908cbd488bd493fd7bc4eac8534bb3b54efc2e Mon Sep 17 00:00:00 2001 From: dprevoznik <58714078+dprevoznik@users.noreply.github.com> Date: Fri, 2 Oct 2026 12:04:10 +0000 Subject: [PATCH 4/5] Show full e2e browser viewport --- integrations/e2e.mdx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/integrations/e2e.mdx b/integrations/e2e.mdx index 3f570306..762c5927 100644 --- a/integrations/e2e.mdx +++ b/integrations/e2e.mdx @@ -37,7 +37,10 @@ export default { targets: [ { name: "kernel", - engine: web({ browser: kernel() }), + engine: web({ + browser: kernel({ viewport: { width: 1920, height: 1080 } }), + viewport: null, + }), app: { url: "https://staging.example.com" }, }, ], From 3a26cc5c6f5bf0a5eb40c294e380dc846af0277c Mon Sep 17 00:00:00 2001 From: dprevoznik <58714078+dprevoznik@users.noreply.github.com> Date: Fri, 2 Oct 2026 12:41:24 +0000 Subject: [PATCH 5/5] Use Tester Army logo in sidebar --- images/integration-icons/e2e.png | Bin 4778 -> 0 bytes images/integration-icons/tester-army.png | Bin 0 -> 7481 bytes integrations/e2e.mdx | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 images/integration-icons/e2e.png create mode 100644 images/integration-icons/tester-army.png diff --git a/images/integration-icons/e2e.png b/images/integration-icons/e2e.png deleted file mode 100644 index 960d0de0673855e30464c5bbd53e4f5737482a49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4778 zcmV;b5>@SqP) zd7M>c8OOiiAOo@vE|D9k7^0{kqN0eA1(-`xZe?Ma?Iq-{mA0sv@xde{Q!B!a+(`Q< zF1eJs(1MbHN|qawA__AsGnPqz{O*n0aPQoE&UxPRo^#Lnem?I9#JSJ=%(?G#-tAes z0Nu!`2X+T`1%?*>z6;O~=ml(5__I&pXWs(W720ZG4X~onnt@k=VJIqKsX;0fS&!2Q6Rj{3=QNN(imq8D&7@KIo#hyLdS*8_KY=sPDQxsj)X zF~DblA;@86{)~l;HSXFXn&uRKyo8bCffl& z1Wxd+NR2cD(||jCE0VK0xsfN2F9P3X(@A)mcmVhU@Um}3ayF40d2;9v%mF6)RwN?p zfls4Dx|{^i)wcpU0PGJeBK-yqx|9DE+NbB^D*@y)xqnUtX8Tsc5f7ppf!wLaBe{|L z<@3Ny-%2=U5%58BL-$5*CUbNWN$C!xXY(-~c0ldx0Ll70DvG zk;l(I)bAd=Ge)DsxSW{Dm+SG;16T~~>{}5}Yy`#v3w=aX9uL6$%4*}1kK$6x%Ye6ov{R*uw zIvCpz?VERvLBBSX)FO{hkAd9C<*j_e9A(pPPn4bPmW`9 zBX>^|upH>^Nd9ZUWx#bnyP@12f$sq)8OkiB4W+93rz80}1(IUqjp%A=1h50jfYJ-- zS@^R%T5_%_v{h(H`VZix!rzn14}htTWIv3I(B-msB5*Y@(1GlWfp0sI>xxETZ(v`v z^(yAhEB@JtwnS^t%BtfyeI;&%!Jm;22M$Ghz`co{6rmOPHE=6%PefVPypAHwteF9v z<3MgX`T(~8?>CnFJg}FsOiPBLG+U$5BotNGwJ3Gg9mJSID=s4+h)$OeMGtLjhkdO_ z#(pjEq{Dt{VKQ*D1GzV#aL%~78#vrp=3dCylfZUt8mI5a?Ko{i;kZ`=k2&nexsmS- zoQoo@e6Sd}3b+y5{c5eu2aYh7`80AU@$vf%Kz``&F_if&;QNO1!muN7CQ8`hgJ)6B zyg4}dUR@da5a1iQJG2SPO0+lrDe)P{0NflZ?S|jXD<=ZKG?cdxIK)t15C)-1=rf-B z@5pMj4Z9N9U?tSr8Kw!nk(Q7g0|(d^TM6l{kUQV3hW6*6eB+mxQ%2~^oYVqD3x%Nq0H^klFN#9zyd>g7A!K9 z<-*aX$XV!?V=IS!#K9-f@_n129}H{cb4Zt`QZ>e)!hYKs$+KP#-ft|=f+dEsEMJJF zTtj_jjU9!2Kei9@p`gEf16npF>EzssK`6VZ#elOOw3f4`6>AJ-S)b)>fmWGQjO8YQ z9f11?u<{IIzt78^AenYEEWYb?)#)rPYA8OquMMdGm(H6l{MZ4K7_6ab2eux zauv4VaTK@|g^9!%*_ALR0l%&EKda5;@5R{KBE0!z1cfZ*8LS^Zil; zUB2Y-doLZQpF#(!QJ&ifW#aR!&!+^g#(073YUDMot zWBh!_h16pJ+Df?^rw^eQn)UM=hYnM%^?kTPe`Wu1mZOK(hL+bZ2Vh_1uw$+JVUG1q zOFPK;xo(J{%XA0dbFrQ5_&N4Q?zYx?Z}w6ucTfI4v;?wd1=`2m?m%`a8_@peYGb+6 zjOC?~M�L$rB+zHyHT3r6L8IQE<^b2eM0P2aZDtA}pEO@gK?=xr>|MxfXd_SrRt!<|U?Dh(#!g#Ucl?D{&@@GP7a=nyCLrM{)(Zjv@snx-hte?AwDx0d#|=9Q4RHKH#;skhj7oK5~r8`M@J*K zu9~q7I1*bI$e?@$yD!dlRgt7J7p;t}nMb&nzjaNy<;bCAy|LUNd<_-Ku;64$Lcm=b zc^h&uG)qVqk{0aB@$|-irITd(pcC5@9LW#6HMBJH;@;TGwKgp4u{-x^L@zDi|Bd`` zY`t_YL2t+;a3gl{&mS?8lXM0Fe?YPJF1Uek-^o~P%Rm1RrC3S=x1qFT7ECVwrPRo$ z7zqcRP+nmu&w}q6$vGB78l9t@gWI%T7ZN@x<>cx=QZtv~_q?bazriN$ zb{`65t%^oIhUkeBimb-|F4c;f;%{qUypf!wFc1x{TXCCj4RqTwGvsIY#jZMR3-WnS zB33s-<6)DLTLv4*0!5hFSxGC$D8+kYeHjw;fXHu~)pb&-AfQyJPlWjR3KrW}N z9Ldj(JRH3nfPWA@C2o=ZvGbfuI!UPJIuR|6trIx}qcXFNyb+>+)ttq zO`it-0*Z1vj`SHgWNVyuw=6UVD!Y^w;*MS#h>}zKH10QmZ=j+ZIq9G!pUJ}$r;(q6 z|JnOWv=yrd1JBZA)Sl1e;fcd7vODk-;1eWtDJaABunFTg|8Fh zdcf7G@>Jwl61Rar4SWEl(5`0#&l=6vGkKP}4dd8}M%;n6Hpg8YI)qc>J-vXZ{9e3SFVducIB|22h0{1ka6ftKR37mp5 zj^qU69^B{brPIr<`J)fKL89TT?P)e z<8*|fti)q&#v*{A# zP?MB$Kw)S^+YAfZNmi(^Q@WxDXZ2?9i=SL#X=7jFGw`d?%#~&X2N~vzMzR{wbzvqb z-jn~%Q08%lvg(m0;EtI3IvY17hkap{j~w7cLs^NYXyleTsE?<<3j#)E269<-$=j%S z!WEADiJJ!uWlg3~5U}1U8u@*OGMgwATFcpt@hAtmOIlEl^}8JR;{!`0?~TfJ*FB|~ zVg8C;4)(`@!;EBEvJBYONY~QuR}!(>)F5o?lqLPAF9umB*tKyLTy3mOg<8L z!ch29l9fkm0d^&a|4OhT5>3Ez?8;GuP_rw41$w5B7 z)~R)U&oDz!cFwH~WgbfHtDbFe8vybIwk3Vjz!cybW0}WbR~I}CgMmL`I~hy>9_nc1 zJ%QIz+94}ifYB(wd)y2_Z+*+e{4Wx$_}&?4rgg!8P))Dr9m!8B-GSGzeQ~b?4#dy1 z><2uK?U_+CdU0&*m^5MoFvqYXkQdzD#9yhUC%Q(muDo$wz@Im9_$F?P%MT{lA=*p0tA2VCb~Wshz!Koi5TCPjaO%hlC>(gMvD^!Q z3yo!#@;*A8fpx3UjzP;)m+ckceB=O7NsnsnV6-<~7SHwXZIthOqJ=9mwNq;l25?w_#71~H-M28Sh zo$!^&2_r~V&5O{$$f=FvPyxj-{22J0p)Q@#hOT5w$LVWm8}~Xo(;9%EaoU0o4mVp7 zb@uk@i>7_wZ+YMCgeuReTw9m`z0=f=5AlqPtvA{N`u-h!w<+bGPqn=38wwBqohm<9 z&)f;z9`G}bWGuyyXWG#?%}NH=ax6dx!<$h{afPRVb1k(=5v!3GU{FQ^c~1Layc_ZJ zOGu6zb=6EMQU1=NeSvDNFnZPbMdQ>mZImyTps?*gL0(Z$G+R(oh%-pm2sulIzf_TpaYKy$p70Hw*g0?hc<)s?#Xi8a05DY9gkn%i23N;U?<=Q*i~@tG--r2J%A4a zN20xOe@Fc+0UkkBT<#^?*;8_Y(}>3Dhf(c#SL1XkDm3~i$`G^KQ9rR7c}EUJx!DJ! zOcuML3?H@TmTN^>L6)Hh_6&+g4-)g8lT(e+sQAJzC~w+sg;wi0T}%0KYBp0>!>5r~ zq7kLq?N##UmS~y1w$NG$dD57ZV?=SBmX6i#BygPm7hvR*@|C}ks{jB107*qoM6N<$ Ef~SZa(EtDd diff --git a/images/integration-icons/tester-army.png b/images/integration-icons/tester-army.png new file mode 100644 index 0000000000000000000000000000000000000000..95e37a2c7145704c2e8d4d14508aea1f1110cce5 GIT binary patch literal 7481 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 literal 0 HcmV?d00001 diff --git a/integrations/e2e.mdx b/integrations/e2e.mdx index 762c5927..454ba74e 100644 --- a/integrations/e2e.mdx +++ b/integrations/e2e.mdx @@ -1,7 +1,7 @@ --- title: "e2e" description: "Run agentic end-to-end tests in Kernel cloud browsers" -icon: "/images/integration-icons/e2e.png" +icon: "/images/integration-icons/tester-army.png" --- [e2e](https://e2e.tester.army/docs) is an end-to-end testing framework for web and mobile apps. It combines natural-language agent actions and assertions with deterministic locator assertions. With the Kernel browser provider, your web targets run in hosted Chromium.