PageSourceSearch

https://serenity-js.org/assets/js/a0798e28.d8a5977f.js

js serenity-js.org collected 2026-10-03 23:11:31 UTC 3,561 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkserenity_js_org=self.webpackChunkserenity_js_org||[]).push([[3375],{25101:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>n,toc:()=>u});const n=JSON.parse('{"id":"tutorials/index","title":"Tutorials","description":"Serenity/JS Tutorials offer a carefully curated collection of hands-on guides designed to immerse you in the Serenity/JS framework.","source":"@site/src/docs/handbook/tutorials/index.mdx","sourceDirName":"tutorials","slug":"/tutorials/","permalink":"/handbook/tutorials/","draft":false,"unlisted":false,"editUrl":"https://github.com/serenity-js/serenity-js.org/tree/main/src/docs/handbook/tutorials/index.mdx","tags":[],"version":"current","lastUpdatedAt":1789512466000,"frontMatter":{},"sidebar":"docs","previous":{"title":"Troubleshooting","permalink":"/handbook/troubleshooting"},"next":{"title":"Your first web scenario","permalink":"/handbook/tutorials/your-first-web-scenario"}}');var o=r(74848),s=r(28453);const i={},a="Tutorials",l={},u=[];function c(e){const t={a:"a",h1:"h1",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"tutorials",children:"Tutorials"})}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Serenity/JS Tutorials"})," offer a carefully curated collection of hands-on guides designed to immerse you in the Serenity/JS framework.\nThese tutorials enable you to develop real-world test scenarios without needing to set anything up locally - unless you choose to."]}),"\n",(0,o.jsxs)(t.p,{children:["With each tutorial, you'll embark on a practical journey through the framework, discovering how to extend the ",(0,o.jsx)(t.a,{href:"/getting-started/project-templates/",children:"Serenity/JS Project Templates"})," to solve real-world test automation challenges.\nAs you progress, you'll see how the different Serenity/JS modules come together to help you write clearer, more maintainable tests. And if you'd like to explore further, I'll point you to guides that dive into each topic in greater detail."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"What you'll learn:"})}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"/handbook/tutorials/your-first-web-scenario/",children:"Your First Web Scenario"})," \u2013 Write and run your first web test using the Serenity/JS Screenplay Pattern, featuring built-in debugging support and structured test design."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"/handbook/tutorials/your-first-api-scenario/",children:"Your First API Test Scenario"})," \u2013 Automate the testing of RESTful APIs with Serenity/JS."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.a,{href:"/releases/upgrading-from-serenity-js-2/",children:"Upgrading from Serenity/JS 2"})," \u2013 Explore what's new in Serenity/JS 3 and learn how to upgrade your existing Serenity/JS 2 projects."]}),"\n"]})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},28453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>a});var n=r(96540);const o={},s=n.createContext(o);function i(e){const t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.