[{"data":1,"prerenderedAt":315},["ShallowReactive",2],{"term-e\u002Fend-to-end-test":3,"related-e\u002Fend-to-end-test":298},{"id":4,"title":5,"acronym":6,"body":7,"category":277,"description":278,"difficulty":279,"extension":280,"letter":281,"meta":282,"navigation":283,"path":284,"related":285,"seo":291,"sitemap":292,"stem":295,"subcategory":296,"__hash__":297},"terms\u002Fterms\u002Fe\u002Fend-to-end-test.md","End-to-End Test","E2E",{"type":8,"value":9,"toc":271},"minimark",[10,15,19,23,26,30,260,264,267],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"An end-to-end test is like hiring a robot to be a user. It opens your actual website in a real browser, clicks buttons, fills in forms, and checks that everything works from start to finish — just like a real human would.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"End-to-end tests simulate complete user workflows through the entire application stack — from the UI through the backend to the database and back. They catch bugs that only appear when all layers work together.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Playwright example\ntest('user can sign up', async ({ page }) => {\n  await page.goto('https:\u002F\u002Fmyapp.com\u002Fsignup');\n  await page.fill('#email', 'user@test.com');\n  await page.fill('#password', 'secret123');\n  await page.click('button[type=submit]');\n  await expect(page).toHaveURL('\u002Fdashboard');\n});\n","javascript","",[38,39,40,49,93,124,159,192,217,250],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Playwright example\n",[41,50,52,56,60,64,68,70,73,77,80,84,87,90],{"class":43,"line":51},2,[41,53,55],{"class":54},"s2Zo4","test",[41,57,59],{"class":58},"sTEyZ","(",[41,61,63],{"class":62},"sMK4o","'",[41,65,67],{"class":66},"sfazB","user can sign up",[41,69,63],{"class":62},[41,71,72],{"class":62},",",[41,74,76],{"class":75},"spNyl"," async",[41,78,79],{"class":62}," ({",[41,81,83],{"class":82},"sHdIc"," page",[41,85,86],{"class":62}," })",[41,88,89],{"class":75}," =>",[41,91,92],{"class":62}," {\n",[41,94,96,100,102,105,108,111,113,116,118,121],{"class":43,"line":95},3,[41,97,99],{"class":98},"s7zQu","  await",[41,101,83],{"class":58},[41,103,104],{"class":62},".",[41,106,107],{"class":54},"goto",[41,109,59],{"class":110},"swJcz",[41,112,63],{"class":62},[41,114,115],{"class":66},"https:\u002F\u002Fmyapp.com\u002Fsignup",[41,117,63],{"class":62},[41,119,120],{"class":110},")",[41,122,123],{"class":62},";\n",[41,125,127,129,131,133,136,138,140,143,145,147,150,153,155,157],{"class":43,"line":126},4,[41,128,99],{"class":98},[41,130,83],{"class":58},[41,132,104],{"class":62},[41,134,135],{"class":54},"fill",[41,137,59],{"class":110},[41,139,63],{"class":62},[41,141,142],{"class":66},"#email",[41,144,63],{"class":62},[41,146,72],{"class":62},[41,148,149],{"class":62}," '",[41,151,152],{"class":66},"user@test.com",[41,154,63],{"class":62},[41,156,120],{"class":110},[41,158,123],{"class":62},[41,160,162,164,166,168,170,172,174,177,179,181,183,186,188,190],{"class":43,"line":161},5,[41,163,99],{"class":98},[41,165,83],{"class":58},[41,167,104],{"class":62},[41,169,135],{"class":54},[41,171,59],{"class":110},[41,173,63],{"class":62},[41,175,176],{"class":66},"#password",[41,178,63],{"class":62},[41,180,72],{"class":62},[41,182,149],{"class":62},[41,184,185],{"class":66},"secret123",[41,187,63],{"class":62},[41,189,120],{"class":110},[41,191,123],{"class":62},[41,193,195,197,199,201,204,206,208,211,213,215],{"class":43,"line":194},6,[41,196,99],{"class":98},[41,198,83],{"class":58},[41,200,104],{"class":62},[41,202,203],{"class":54},"click",[41,205,59],{"class":110},[41,207,63],{"class":62},[41,209,210],{"class":66},"button[type=submit]",[41,212,63],{"class":62},[41,214,120],{"class":110},[41,216,123],{"class":62},[41,218,220,222,225,227,230,232,234,237,239,241,244,246,248],{"class":43,"line":219},7,[41,221,99],{"class":98},[41,223,224],{"class":54}," expect",[41,226,59],{"class":110},[41,228,229],{"class":58},"page",[41,231,120],{"class":110},[41,233,104],{"class":62},[41,235,236],{"class":54},"toHaveURL",[41,238,59],{"class":110},[41,240,63],{"class":62},[41,242,243],{"class":66},"\u002Fdashboard",[41,245,63],{"class":62},[41,247,120],{"class":110},[41,249,123],{"class":62},[41,251,253,256,258],{"class":43,"line":252},8,[41,254,255],{"class":62},"}",[41,257,120],{"class":58},[41,259,123],{"class":62},[11,261,263],{"id":262},"when-youll-hear-this","When You'll Hear This",[16,265,266],{},"\"E2E tests take 10 minutes to run so we only run them on PR.\" \u002F \"The E2E suite caught a checkout regression.\"",[268,269,270],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":272},[273,274,275,276],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":262,"depth":51,"text":263},"testing","An end-to-end test is like hiring a robot to be a user.","intermediate","md","e",{},true,"\u002Fterms\u002Fe\u002Fend-to-end-test",[286,287,288,289,290],"Playwright","Cypress","Selenium","Test Pyramid","Headless Browser",{"title":5,"description":278},{"changefreq":293,"priority":294},"weekly",0.7,"terms\u002Fe\u002Fend-to-end-test",null,"veLbea1YpQP_wknfnv0SYq2e12GNjsra4jUN0J3rRY8",[299,302,305,308,311],{"title":287,"path":300,"acronym":296,"category":277,"difficulty":279,"description":301},"\u002Fterms\u002Fc\u002Fcypress","Selenium drives a browser like a confused tourist with a map.",{"title":290,"path":303,"acronym":296,"category":277,"difficulty":279,"description":304},"\u002Fterms\u002Fh\u002Fheadless-browser","A headless browser is a real browser — Chrome, Firefox — but without the visible window.",{"title":286,"path":306,"acronym":296,"category":277,"difficulty":279,"description":307},"\u002Fterms\u002Fp\u002Fplaywright","Playwright is an end-to-end testing tool that controls real browsers (Chrome, Firefox, Safari) to test your web app the way a user would.",{"title":288,"path":309,"acronym":296,"category":277,"difficulty":279,"description":310},"\u002Fterms\u002Fs\u002Fselenium","Selenium is the grandfather of browser testing — invented when Internet Explorer was still a thing worth testing against.",{"title":289,"path":312,"acronym":296,"category":277,"difficulty":313,"description":314},"\u002Fterms\u002Ft\u002Ftest-pyramid","beginner","The Test Pyramid is a strategy for how many of each test type to have.",1776518277020]