1"use strict";(self.rspackChunkdoc=self.rspackChunkdoc||[]).push([[6348],{28316(s,e,n){n.r(e);var r=n(65723),o=n(11470);function i(s){let e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",span:"span",ul:"ul",...(0,o.R)(),...s.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(e.h1,{id:"ç¼åèªå®ä¹-node",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#ç¼åèªå®ä¹-node",children:"#"}),"ç¼åèªå®ä¹ Node"]}),"\n",(0,r.jsx)(e.p,{children:"èªå®ä¹ Node å°ä¸å¡æä½å°è£
为ç¨ä¾ä½è
å¯ä»¥å¨ YAML ä¸è°ç¨çæ¥éª¤ãæ¬æä»ç»è¾å
¥å®ä¹ä¸æ ¡éªãè·¨ Node æ°æ®å
±äº«ï¼ä»¥åæ§è¡ä¸æ¸
çã"}),"\n",(0,r.jsxs)(e.p,{children:["å°æªå建æµè¯é¡¹ç®æ¶ï¼è¯·å
é
读",(0,r.jsx)(e.a,{href:"/zh/midscene-test/use.html",children:"å建åä½¿ç¨æµè¯é¡¹ç®"}),"ãå¹³å°ç¯å¢ãAgent æ¥å
¥åè¿è¡åæ°è§",(0,r.jsx)(e.a,{href:"/zh/midscene-test/configuration.html",children:"é
ç½®æµè¯é¡¹ç®"}),"ã"]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"#%E6%B3%A8%E5%86%8C%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%9A%E5%8A%A1-node",children:"注å Node"}),"ï¼å®ä¹æä½ãå¨ YAML ä¸è°ç¨ï¼å¹¶éè¿çæ Node 说æä¹¦éªè¯æ³¨åã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"#node-%E6%89%A7%E8%A1%8C%E5%8F%82%E6%95%B0",children:"Node æ§è¡åæ°"}),"ï¼åºåä¸å¡åæ°ä¸æ¡æ¶çæ¥éª¤é
ç½®ã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"#%E8%B7%A8-node-%E5%85%B1%E4%BA%AB%E4%B8%8A%E4%B8%8B%E6%96%87",children:"è·¨ Node å
±äº«ä¸ä¸æ"}),"ï¼å建ã读ååéç½®å
±äº«æµè¯æ°æ®ã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.a,{href:"#%E8%BF%9B%E9%98%B6%E7%94%A8%E6%B3%95",children:"è¿é¶ç¨æ³"}),"ï¼è¿åç»æãå¤çé误ä¸åæ¶ï¼ä»¥åæ¸
çèµæºã"]}),"\n"]}),"\n",(0,r.jsxs)(e.h2,{id:"注åèªå®ä¹ä¸å¡-node",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#注åèªå®ä¹ä¸å¡-node",children:"#"}),"注åèªå®ä¹ä¸å¡ Node"]}),"\n",(0,r.jsx)(e.p,{children:"èªå®ä¹ Node ä» YAML æ¥æ¶åæ°å¹¶æ§è¡æä½ãä¸é¢ä»¥å建æµè¯ç¨æ·æ°æ®ä¸ºä¾ï¼å°ç¨æ·ä¿¡æ¯åå
¥ JSON æä»¶ï¼ä¾æµè¯æå¡ææ°æ®å¯¼å
¥æ¥éª¤å è½½ã"}),"\n",(0,r.jsxs)(e.h3,{id:"1-å®ä¹å¹¶æ³¨å-node",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#1-å®ä¹å¹¶æ³¨å-node",children:"#"}),"1. å®ä¹å¹¶æ³¨å Node"]}),"\n",(0,r.jsxs)(e.p,{children:["å建 ",(0,r.jsx)(e.code,{children:"midscene.config.ts"}),"ï¼"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"ts",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { randomUUID } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'node:crypto'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { mkdir"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" writeFile } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'node:fs/promises'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { defineNode"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" z } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '@midscene/test'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { defineTestProject } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '@midscene/test/config'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" createUser"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" defineNode"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'user.create'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" description"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'å建æµè¯ç¨æ·æ°æ®æä»¶ã'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" inputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" z"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".strictObject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" z"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"}
1,children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".min"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".describe"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'æµè¯ç¨æ·å§åã'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" email"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" z"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".email"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".describe"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'æµè¯ç¨æ·é®ç®±ã'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" execute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({ input }) {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" user"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { id"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" randomUUID"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"()"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" email"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".email };"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" filePath"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" `fixtures/users/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"user"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".id"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:".json`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" mkdir"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'fixtures/users'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { recursive"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" true"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" });"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" writeFile"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"(filePath"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" JSON"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".stringify"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"(user"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" null"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" 2"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"));"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"});"})}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" default"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" defineTestProject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" nodes"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" [createUser]"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"});"})})]})})}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"name"})," æ¯ YAML ä¸ä½¿ç¨çæä½åç§°ã",(0,r.jsx)(e.code,{children:"inputSchema"})," å®ä¹åæ°ï¼",(0,r.jsx)(e.code,{children:"execute({ input })"})," æ¥æ¶æ ¡éªåçåæ°å¼ãå° Node å å
¥ ",(0,r.jsx)(e.code,{children:"nodes"})," æ°ç»åï¼ç¨ä¾å°±å¯ä»¥è°ç¨å®ãæ©å±å·²æé¡¹ç®æ¶ï¼å°
1å®è¿½å å°åæç ",(0,r.jsx)(e.code,{children:"nodes"})," æ°ç»å³å¯ã"]}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"inputSchema"})," æ¯å¯éåæ®µï¼ä½å®ä¹åï¼Midscene Test ä¼å¨è°ç¨ ",(0,r.jsx)(e.code,{children:"execute()"})," åæ ¡éªåæ°ã示ä¾ä¸ç ",(0,r.jsx)(e.code,{children:"z.string().min(1)"})," è¦æ±å§åé空ï¼",(0,r.jsx)(e.code,{children:".email()"})," æ ¡éªé®ç®±æ ¼å¼ï¼",(0,r.jsx)(e.code,{children:"z.strictObject()"})," æç»æªç¥å段ãè¾å
¥ä¸ç¬¦åè¦æ±æ¶ï¼ä¼æåº ",(0,r.jsx)(e.code,{children:"NodeInputValidationError"}),"ã"]}),"\n",(0,r.jsxs)(e.p,{children:["TypeScript æ ¹æ® schema æ¨å¯¼ ",(0,r.jsx)(e.code,{children:"input"})," çç±»åã",(0,r.jsx)(e.code,{children:".describe()"})," ä¸çåæ®µè¯´æä¼åºç°å¨çæç Node 说æä¹¦ä¸ã"]}),"\n",(0,r.jsxs)(e.h3,{id:"2-å¨-yaml-ä¸è°ç¨",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#2-å¨-yaml-ä¸è°ç¨",children:"#"}),"2. å¨ YAML ä¸è°ç¨"]}),"\n",(0,r.jsxs)(e.p,{children:["å建 ",(0,r.jsx)(e.code,{children:"cases/user.yaml"}),"ï¼"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"yaml",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"cases"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" - "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" å建æµè¯ç¨æ·æ°æ®"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" steps"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" - "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"user.create"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" Alice"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" email"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" [email protected]"})]})]})})}),"\n",(0,r.jsxs)(e.p,{children:["Midscene Test 读å YAMLï¼æ¾å°å为 ",(0,r.jsx)(e.code,{children:"user.create"})," ç Nodeï¼å¹¶è°ç¨å®ç ",(0,r.jsx)(e.code,{children:"execute()"}),"ãæ¤æ¶ ",(0,r.jsx)(e.code,{children:"input"})," 为 ",(0,r.jsx)(e.code,{children:'{ name: "Alice", email: "[email protected]" }'}),"ï¼Node æ éèªè¡è§£æ YAML æä»¶ã"]}),"\n",(0,r.jsxs)(e.p,{children:["示ä¾ä½¿ç¨ ",(0,r.jsx)(e.code,{children:"async execute({ input })"})," å ",(0,r.jsx)(e.code,{children:"await"})," çå¾
æä»¶åå
¥ãåå
¥å¤±è´¥æ¶ä¼æåºé误ï¼ä½¿ Node æ§è¡å¤±è´¥ãè¿éåå»ºçæ¯æ¬å°æµè¯æ°æ®æä»¶ï¼éè¦å¨ä¸å¡ç³»ç»ä¸åå»ºç¨æ·æ¶ï¼å°æä»¶åå
¥æ¿æ¢ä¸ºæµè¯æ°æ®æ¥å£ææ°æ®åºè°ç¨å³å¯ã"]}),"\n",(0,r.jsxs)(e.h3,{id:"3-çæ-node-说æä¹¦éªè¯æ³¨å",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#3-çæ-node-说æä¹¦éªè¯æ³¨å",children:"#"}),"3. çæ Node 说æä¹¦ï¼éªè¯æ³¨å"]}),"\n",(0,r.jsx)(e.p,{children:"ä¿åé
ç½®åï¼çæ Node 说æä¹¦ï¼"}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"bash",children:(0,r.jsx)(e.code,{children:(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"pnpm"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" exec"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" midscene-test"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string)"},children:" nodes"})]})})})}),"\n",(0,r.jsxs)(e.p,{children:["å½ä»¤å 载项ç®é
ç½®ï¼å¹¶å¨å½åç®å½çæ ",(0,r.jsx)(e.code,{children:"midscene-node-spec.md"}
1),"ãæ¾å¼é
ç½® ",(0,r.jsx)(e.code,{children:"projects"})," æ¶ï¼ä¼ä¸ºæ¯ä¸ªæ§è¡é¡¹ç®çæ ",(0,r.jsx)(e.code,{children:"midscene-node-spec.<project-name>.md"}),"ãæ£æ¥è¯´æä¹¦æ¯å¦å
å«ï¼"]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["å¯ç¨ Node å表ä¸ç ",(0,r.jsx)(e.code,{children:"user.create"}),"ã"]}),"\n",(0,r.jsx)(e.li,{children:"âå建æµè¯ç¨æ·æ°æ®æä»¶ãâè¿ä¸æä½è¯´æã"}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"name"}),"ã",(0,r.jsx)(e.code,{children:"email"})," 两个è¾å
¥å段åå
¶æè¿°ã"]}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["è¿ä¸æ¥éªè¯ Node æ¯å¦å·²æ³¨åãè¾å
¥ schema æ¯å¦å¯ä»¥å¯¼åºï¼ä¸ä¼æ§è¡ Node æåå»ºç¨æ·æ°æ®ãä¿®æ¹ Node å®ä¹ææ³¨åé
ç½®åï¼å¯ä»¥éæ°çæè¯´æä¹¦ï¼ä¾ç¨ä¾ä½è
å AI Agent æ¥é
ã宿´ä½¿ç¨æ¹æ³è§",(0,r.jsx)(e.a,{href:"/zh/midscene-test/use.html#%E7%94%9F%E6%88%90%E5%BD%93%E5%89%8D%E9%A1%B9%E7%9B%AE%E7%9A%84-node-%E8%AF%B4%E6%98%8E%E4%B9%A6",children:"çæå½å项ç®ç Node 说æä¹¦"}),"ã"]}),"\n",(0,r.jsxs)(e.h2,{id:"node-æ§è¡åæ°",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#node-æ§è¡åæ°",children:"#"}),"Node æ§è¡åæ°"]}),"\n",(0,r.jsxs)(e.p,{children:["Midscene Test è°ç¨ ",(0,r.jsx)(e.code,{children:"execute()"})," æ¶ï¼ä¼ä¼ å
¥å
嫿¬æ¬¡æ§è¡åæ°åè¿è¡ä¿¡æ¯ç对象ãå¯ä»¥éè¿ ",(0,r.jsx)(e.code,{children:"execute({ input, $, context })"})," è¿æ ·çè§£æåæ³ï¼ç´æ¥ååºéè¦çåæ®µã"]}),"\n",(0,r.jsxs)(e.h3,{id:"ä¸å¡åæ°ä¸æ¥éª¤é
ç½®",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#ä¸å¡åæ°ä¸æ¥éª¤é
ç½®",children:"#"}),"ä¸å¡åæ°ä¸æ¥éª¤é
ç½®"]}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"input"})," å
å« Node ç ",(0,r.jsx)(e.code,{children:"inputSchema"})," å®ä¹çä¸å¡åæ°ã",(0,r.jsx)(e.code,{children:"$"})," å
嫿¡æ¶å¤ççæ¥éª¤é
ç½®ï¼ä¾å¦è¶
æ¶æ¶é´ååçéè¯¯åæ¯å¦ç»§ç»æ§è¡ã"]}),"\n",(0,r.jsxs)(e.p,{children:["ä¾å¦ï¼ä¸ºåé¢ç ",(0,r.jsx)(e.code,{children:"user.create"})," è°ç¨æ·»å æ¥éª¤é
ç½®ï¼"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"yaml",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"steps"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" - "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"user.create"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" Alice"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" email"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" [email protected]"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" $"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" timeout"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" 30000"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" continue-on-error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" true"})]})]})})}),"\n",(0,r.jsxs)(e.p,{children:["æ¡æ¶å° ",(0,r.jsx)(e.code,{children:"$"})," ä¸ä¸å¡åæ°åå¼ï¼å¹¶è§èåå
¶ä¸çåæ®µåãå¨ ",(0,r.jsx)(e.code,{children:"execute({ input, $ })"})," ä¸ï¼å¯ä»¥è¯»åå°ï¼"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"ts",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".name; "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// 'Alice'"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".email; "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// '[email protected]'"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".timeoutMs; "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// 30000"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"$"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".continueOnError; "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// true"})]})]})})}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"inputSchema"})," åªé声æ ",(0,r.jsx)(e.code,{children:"name"})," å ",(0,r.jsx)(e.code,{children:"email"}),"ï¼",(0,r.jsx)(e.code,{children:"input"})," ä¸ä¸å
å« ",(0,r.jsx)(e.code,{children:"$"}),"ãè¶
æ¶ååºé忝å¦ç»§ç»æ§è¡ç±æ¡æ¶æ§å¶ã",(0,r.jsx)(e.code,{children:"continue-on-error"})," å
许å½åé¶æ®µçåç»æ¥éª¤å¨å¤±è´¥åç»§ç»æ§è¡ï¼ä½å¤±è´¥çæ¥éª¤ä»ä¼ä½¿æ´ä¸ªç¨ä¾å¤±è´¥ã"]}),"\n",(0,r.jsxs)(e.h3,{id:"å¯ç¨çæ§è¡å段",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#å¯ç¨çæ§è¡å段",children:"#"}),"å¯ç¨çæ§è¡å段"]}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"execute()"})," æ¥æ¶çåæ°å¯¹è±¡å
å«ä»¥ä¸å¸¸ç¨å段ï¼"]}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"input"}),"ï¼ä» YAML ä¼ å
¥å¹¶ç»è¿ Zod æ ¡éªåçä¸å¡åæ°ã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"$"}
1),"ï¼ç± Midscene Test æ§å¶çéç¨ Step 屿§ï¼å¦è§èååç ",(0,r.jsx)(e.code,{children:"timeoutMs"})," å ",(0,r.jsx)(e.code,{children:"continueOnError"}),"ï¼ã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"signal"}),"ï¼è¶
æ¶æè¿è¡åæ¶æ¶è§¦åç ",(0,r.jsx)(e.code,{children:"AbortSignal"}),"ï¼å¨å¼æ¥è¯·æ±æé¿èæ¶ä»»å¡ä¸ä½¿ç¨å®ä»¥ååºåæ¶ã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"context"}),"ï¼å¨ ",(0,r.jsx)(e.code,{children:"defineProjectSetup()"})," ä¸è¿åå¹¶å
±äº«ç项ç®çº§è¿è¡æ¶èµæºã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"onTeardown()"}),"ï¼æ³¨åå½å Node æåå»ºèµæºçæ¸
ç彿°ï¼æ¯æ attempt çº§å«æ Document çº§ï¼æ LIFOï¼åè¿å
åºï¼é¡ºåºæ§è¡ã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"scope"}),"ï¼æ è®°å½å Node æ§è¡çä¸ä¸æè¾¹çï¼å¼ä¸º ",(0,r.jsx)(e.code,{children:"case"})," æ ",(0,r.jsx)(e.code,{children:"document"}),"ã"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.code,{children:"case"})," æ ",(0,r.jsx)(e.code,{children:"document"}),"ï¼å½åæ§è¡ä½ç½®ç详ç»è¿è¡ä¿¡æ¯ã"]}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["å
¶ä¸ï¼",(0,r.jsx)(e.code,{children:"context"})," ç¨äºè®¿é®é¡¹ç®å
±äº«çèµæºä¸ç¶æãä¸ä¸èä»ç»å¦ä½éè¿å®å¨å¤ä¸ª Node ä¹é´å
±äº«æ°æ®ã"]}),"\n",(0,r.jsxs)(e.h2,{id:"è·¨-node-å
±äº«ä¸ä¸æ",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#è·¨-node-å
±äº«ä¸ä¸æ",children:"#"}),"è·¨ Node å
±äº«ä¸ä¸æ"]}),"\n",(0,r.jsx)(e.p,{children:"Node çæ¯æ¬¡æ§è¡é½æ¯ç¬ç«è°ç¨ï¼æ¡æ¶ä¸ä¼èªå¨å°ä¸ä¸æ¬¡æ§è¡çç»æä¼ å
¥ä¸ä¸æ¬¡è°ç¨ãå½ä¸ä¸ªä¸å¡æµç¨ç±å¤ä¸ª Node 宿æ¶ï¼å®ä»¬å¯è½éè¦ä½¿ç¨åä¸ä»½æµè¯æ°æ®ãä¾å¦ï¼è®¢å鿬¾ç¨ä¾å
å建订åï¼åæå¼è¯¥è®¢åç鿬¾é¡µé¢ï¼æåå 餿µè¯è®¢åãä¸é¢æ²¿çè¿ä»½æ°æ®ç使ç¨è¿ç¨ï¼è¯´æ Node å¦ä½åä½ã"}),"\n",(0,r.jsxs)(e.h3,{id:"å建å
±äº«ä¸ä¸æ",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#å建å
±äº«ä¸ä¸æ",children:"#"}),"å建å
±äº«ä¸ä¸æ"]}),"\n",(0,r.jsxs)(e.p,{children:["Midscene Test æä¾äºé¡¹ç®çº§ä¸ä¸ææºå¶ãåä¸ä¸ªæ§è¡é¡¹ç®ä¸ç Node å¯ä»¥éè¿å
±äº«ç ",(0,r.jsx)(e.code,{children:"context"})," 对象访é®è¿è¡èµæºãä¼ éæµè¯æ°æ®ãè¿ä¸ªå¯¹è±¡ç±é¡¹ç®ç ",(0,r.jsx)(e.code,{children:"setup"}
1)," å建并è¿åï¼æ¡æ¶å¨æ§è¡å Node æ¶ï¼å°å®ä¼ å
¥ ",(0,r.jsx)(e.code,{children:"execute()"}),"ã"]}),"\n",(0,r.jsxs)(e.p,{children:["对äºä¸é¢ç订å鿬¾æµç¨ï¼setup å¯ä»¥æä¾æµè§å¨é¡µé¢ãåºç¨å°åå订åæå¡ï¼è®¢å ID åå¨ Node å建订åååå
¥ãä¸é¢ç ",(0,r.jsx)(e.code,{children:"setup.ts"})," å±ç¤ºäºè¿ä¸ªå
±äº«å¯¹è±¡çå建æ¹å¼ï¼",(0,r.jsx)(e.code,{children:"ProjectContext"})," æè¿°å®çç±»åï¼",(0,r.jsx)(e.code,{children:"setup"})," è´è´£å建并è¿åå®é
ç对象ã"]}),"\n",(0,r.jsxs)(e.p,{children:["导å
¥ç ",(0,r.jsx)(e.code,{children:"orderService"})," æ¯ä½ èªå·±çæµè¯æ°æ®æå¡ï¼éè¦å®ç° ",(0,r.jsx)(e.code,{children:"create"})," å ",(0,r.jsx)(e.code,{children:"remove"})," æ¹æ³ãåºç¨å°åä¹éæ¿æ¢ä¸ºæµè¯ç¯å¢å°åã"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"ts",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { defineProjectSetup } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '@midscene/test/config'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { chromium"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" Page } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'playwright'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { orderService } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" './order-service'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" interface"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" ProjectContext"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" appBaseUrl"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" page"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" Page"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" orderId"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"?:"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"; "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// ç¨äºå¨ Node ä¹é´å
±äº«æµè¯ç¶æ"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" orderService"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" create"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"(input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'paid'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" })"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"<{ id"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" }>;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" remove"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"(orderId"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" string"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" Promise"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"void"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:">;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" };"})}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"}"})}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" setup"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" defineProjectSetup"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ProjectContext"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:">({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'refund'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" setup"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({ onTeardown }) {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" browser"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" chromium"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".launch"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"}
1,children:"();"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" onTeardown"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"(() "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" browser"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".close"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"());"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" page"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" browser"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".newPage"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"();"})]}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" ProjectContext"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" page"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" appBaseUrl"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'https://yoursite.com'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" orderService"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" context;"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"});"})})]})})}),"\n",(0,r.jsxs)(e.p,{children:["setup è¿åç ",(0,r.jsx)(e.code,{children:"context"})," æ¯å½åæ§è¡é¡¹ç®å
±äº«çåä¸ä¸ªå¯¹è±¡ãå¨ ",(0,r.jsx)(e.code,{children:"execute({ input, context })"})," ä¸ï¼",(0,r.jsx)(e.code,{children:"input"})," æ¥èªå½å YAML æ¥éª¤ï¼",(0,r.jsx)(e.code,{children:"context"})," 忝è¿éå建çå¯¹è±¡ï¼æ¤æ¶ ",(0,r.jsx)(e.code,{children:"orderId"})," å°æªèµå¼ã"]}),"\n",(0,r.jsxs)(e.h3,{id:"å¨-node-ä¸åå
¥æ°æ®",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#å¨-node-ä¸åå
¥æ°æ®",children:"#"}),"å¨ Node ä¸åå
¥æ°æ®"]}),"\n",(0,r.jsxs)(e.p,{children:["æ¥çå建 ",(0,r.jsx)(e.code,{children:"nodes.ts"}),"ã",(0,r.jsx)(e.code,{children:"order.prepare"})," ä½¿ç¨ ",(0,r.jsx)(e.code,{children:"context"}
1)," ä¸ç订åæå¡å建订åï¼åå° ID åå
¥ ",(0,r.jsx)(e.code,{children:"context.orderId"}),"ï¼ä¾åç» Node 使ç¨ï¼"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"ts",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { defineNode"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" z } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '@midscene/test'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { ProjectContext } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" './setup'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" emptyInputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" z"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".strictObject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({});"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" prepareOrderInputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" z"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".strictObject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" z"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".literal"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'paid'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".describe"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'å¾
å建订åçç¶æã'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:")"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"});"})}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// 1. åå¤è®¢åç¯å¢"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" prepareOrder"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" defineNode"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" typeof"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" prepareOrderInputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { orderId"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" string }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" ProjectContext"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'order.prepare'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" description"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'è°ç¨è®¢åæå¡å建æµè¯è®¢åã'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" inputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" prepareOrderInputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" execute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({ input"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" onTeardown }) {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" order"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"orderService"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".create"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"(input);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".orderId "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" order"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".id; "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// å° ID ä¿åè³ä¸ä¸æ"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" onTeardown"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" () "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"orderService"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".remove"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"order"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".id);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" delete"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".orderId;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" });"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" summary"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" `å·²å建æµè¯è®¢å "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"order"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".id"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" data"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { orderId"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" order"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".id }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" };"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"});"})})]})})}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"context.orderId = order.id"})," ä¿®æ¹å
±äº«å¯¹è±¡ï¼ä½¿åç» Node å¯ä»¥è¯»åè¿ä¸ª IDãè¿å ",(0,r.jsx)(e.code,{children:"data"})," ä¸ä¼èªå¨å°å®åå
¥ ",(0,r.jsx)(e.code,{children:"context"}),"ã"]}),"\n",(0,r.jsxs)(e.p,{children:["å建订ååï¼",(0,r.jsx)(e.code,{children:"onTeardown()"})," æ³¨åæ¸
ç彿°ï¼å¨æ¸
çæ¶å 餿¬æ¬¡å建ç订åå¹¶æ¸
é¤ä¿åç IDãåè°ç´æ¥ä½¿ç¨æ¬æ¬¡è°ç¨ç ",(0,r.jsx)(e.code,{children:"order.id"}),"ï¼å æ¤åå»ºä¸æ¸
çå°è£
å¨åä¸ä¸ª Node ä¸ï¼YAML æ éé¢å¤è°ç¨æ¸
çæ¥éª¤ã"]}),"\n",(0,r.jsxs)(e.h3,{id:"å¨åç»-node-ä¸è¯»åæ°æ®",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#å¨åç»-node-ä¸è¯»åæ°æ®",children:"#"}),"å¨åç» Node ä¸è¯»åæ°æ®"]}),"\n",(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"browser.openRefundPage"})," 读åä¿åç IDï¼æå¼é款页é¢ãå¦æè®¢å ID ä¸åå¨ï¼è¿ä¸ª Node 伿¥éã"]}
1),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"ts",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" getOrderId"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" (context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" ProjectContext"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:") "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" if"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" ("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"!"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".orderId) {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" throw"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" new"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" Error"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'æµè¯è®¢åå°æªå建ã'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:");"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" }"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" return"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".orderId;"})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"};"})}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-comment)"},children:"// 2. 访é®å·²ä¿åç订åç¶æ"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" openRefundPage"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" defineNode"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"<"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" typeof"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" emptyInputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" unknown"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" ProjectContext"})}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'browser.openRefundPage'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" description"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'æå¼å½åæµè¯è®¢åç鿬¾é¡µé¢ã'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" inputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" emptyInputSchema"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" async"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" execute"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"({ context }) {"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" orderId"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" getOrderId"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"(context);"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" await"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"page"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:".goto"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:"context"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:".appBaseUrl"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/orders/"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"${"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"orderId"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"}"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/refund`"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:");"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" }"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"});"})}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" const"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-constant)"},children:" refundNodes"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" [prepareOrder"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" openRefundPage];"})]})]})})}),"\n",(0,r.jsx)(e.p,{children:"å° setup å Node ä¸èµ·æ³¨åï¼æ¡æ¶å°±ä¼æ setup è¿åçå¯¹è±¡ä¼ ç»å Nodeï¼"}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"ts",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { defineTestProject } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '@midscene/test/config'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { refundNodes } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" './nodes'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" { setup"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" type"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" ProjectContext } "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" './setup'"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(e.span,{className:"line"}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" default"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:" defineTestProject"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"<"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-function)"},children:"ProjectContext"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:">({"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" setup"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" nodes"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" refundNodes"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(e.span,{className:"line",children:(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:"});"})})]})})}),"\n",(0,r.jsxs)(e.p,{children:["å¨ YAML ä¸ï¼éè¿ ",(0,r.jsx)(e.code,{children:"beforeEach"})," è°ç¨ ",(0,r.jsx)(e.code,{children:"order.prepare"}),"ï¼ç¶åå¨ç¨ä¾æ¥éª¤ä¸ä½¿ç¨ä¿åç订å IDï¼"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(e.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"yaml",children:(0,r.jsxs)(e.code,{children:[(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"beforeEach"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" - "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"order.prepare"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" status"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" paid"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"cases"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" - "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"name"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-string-expression)"},children:" æå¼é款页é¢"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:" steps"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"})]}),"\n",(0,r.jsxs)(e.span,{className:"line",children:[(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" - "}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:"browser.openRefundPage"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(e.span,{style:{color:"var(--shiki-foreground)"},children:" {}"})]})]})})}
1),"\n",(0,r.jsxs)(e.p,{children:["已注åçæ¸
ç彿°å¨æ¬æ¬¡ç¨ä¾ç ",(0,r.jsx)(e.code,{children:"afterEach"})," é¶æ®µä¹åæ§è¡ï¼å³ä½¿ YAML 没æå£°æ ",(0,r.jsx)(e.code,{children:"afterEach"})," æ¥éª¤ä¹ä¼æ§è¡ãåç»å夿¥éª¤æç¨ä¾æ¥éª¤å¤±è´¥æ¶ï¼æ¡æ¶ä»ä¼æ§è¡å·²æ³¨åçæ¸
çãæ¯æ¬¡éè¯æç¬ç«çæ¸
çèå´ï¼å¦æå建订å失败ãå°æªæ³¨ååè°ï¼åæ¬æ¬¡è°ç¨æ²¡æå¯¹åºçæ¸
ç彿°ã"]}),"\n",(0,r.jsxs)(e.p,{children:["Agent æ¥å
¥åå¹³å°èµæºé
ç½®è§",(0,r.jsx)(e.a,{href:"/zh/midscene-test/configuration.html",children:"é
ç½®æµè¯é¡¹ç®"}),"ã"]}),"\n",(0,r.jsxs)(e.h2,{id:"è¿é¶ç¨æ³",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#è¿é¶ç¨æ³",children:"#"}),"è¿é¶ç¨æ³"]}),"\n",(0,r.jsx)(e.p,{children:"以ä¸ä»ç» Node å
é¨çæ§è¡ç»æãé误å¤çãåæ¶åèµæºæ¸
çã"}),"\n",(0,r.jsxs)(e.h3,{id:"è®°å½æ§è¡ç»æ",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#è®°å½æ§è¡ç»æ",children:"#"}),"è®°å½æ§è¡ç»æ"]}),"\n",(0,r.jsxs)(e.p,{children:["ä¸é¢ç订ååå¤ Node è¿è¿åäº ",(0,r.jsx)(e.code,{children:"summary"})," å ",(0,r.jsx)(e.code,{children:"data"}),"ã",(0,r.jsx)(e.code,{children:"summary"})," æ¯ä¾æ¥åå±ç¤ºçæ§è¡æè¦ï¼",(0,r.jsx)(e.code,{children:"data"})," ä¿åç»æåè¾åºã两è
å为å¯éåæ®µï¼Node ä¹å¯ä»¥ä¸è¿åç»æãè¿äºå¼ä¿åå¨è¿è¡ç»æä¸ï¼ä¸å
±äº«ç ",(0,r.jsx)(e.code,{children:"context"})," ç¸äºç¬ç«ã"]}),"\n",(0,r.jsxs)(e.h3,{id:"弿¥æä½é误ä¸åæ¶",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#弿¥æä½é误ä¸åæ¶",children:"#"}),"弿¥æä½ãé误ä¸åæ¶"]}),"\n",(0,r.jsxs)(e.p,{children:["弿¥æä½ä½¿ç¨ ",(0,r.jsx)(e.code,{children:"async execute()"}),"ï¼å¹¶éè¿ ",(0,r.jsx)(e.code,{children:"await"})," çå¾
宿ãæä½å¤±è´¥æ¶åºæåºé误ã"]}),"\n",(0,r.jsxs)(e.p,{children:["Midscene Test 卿§è¡ Node æ¶éè¿ ",(0,r.jsx)(e.code,{children:"signal"})," æä¾ ",(0,r.jsx)(e.code,{children:"AbortSignal"}),"ãè°ç¨æ¯æåæ¶ç API æ¶ï¼å°å®ä¼ å
¥ï¼ä¾å¦ ",(0,r.jsx)(e.code,{children:"fetch(url, { signal })"}),"ãé¿æ¶é´è¿è¡ç循ç¯å¯ä»¥å¨æ¯æ¬¡è¿ä»£ä¹é´è°ç¨ ",(0,r.jsx)(e.code,{children:"signal.throwIfAborted()"}),"ï¼ä»¥ååºæ¥éª¤è¶
æ¶æè¿è¡åæ¶ã"]}),"\n",(0,r.jsxs)(e.h3,{id:"èµæºççå½å¨æä¸æ¸
ç",children:[(0,r.jsx)(e.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#èµæºççå½å¨æä¸æ¸
ç",children:"#"}),"èµæºççå½å¨æä¸æ¸
ç"]}),"\n",(0,r.jsxs)(e.p,{children:["Node åå»ºèµæºåï¼å¯ä»¥éè¿ ",(0,r.jsx)(e.code,{children:"onTeardown()"})," æ³¨åæ¸
ç彿°ãæ¸
çæ¶æºåå³äº Node æå¨çæ§è¡é¶æ®µã"]}),"\n",(0,r.jsx)(e.p,{children:"èµæºæ¸
çå为以ä¸èå´ï¼"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["å¨ ",(0,r.jsx)(e.code,{children:"beforeEach"}),"ãç¨ä¾ ",(0,r.jsx)(e.code,{children:"steps"})," æ ",(0,r.jsx)(e.code,{children:"afterEach"})," ç Node 䏿³¨åçæ¸
çï¼å¨æ¬æ¬¡ç¨ä¾æ§è¡ç ",(0,r.jsx)(e.code,{children:"afterEach"})," ä¹åè¿è¡ãæ¯æ¬¡éè¯æç¬ç«çæ¸
çèå´ã"]}),"\n",(0,r.jsxs)(e.li,{children:["å¨ ",(0,r.jsx)(e.code,{children:"beforeAll"})," æ ",(0,r.jsx)(e.code,{children:"afterAll"})," ç Node 䏿³¨åçæ¸
çï¼å¨å½åæä»¶ç ",(0,r.jsx)(e.code,{children:"afterAll"})," ä¹åè¿è¡ã"]}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"æ¯ä¸ªèå´å
çæ¸
ç彿°ææ³¨å顺åºçéåºæ§è¡ï¼å³ LIFOï¼åè¿å
åºï¼ãNode å¯ä»¥åæ¤éæ¾èªå·±å建çèµæºï¼æå®ææ¥åçæãæ³¨åæ¸
çä¸ä¼èªå¨å建æ°ç Agent æéç½®ç¼åï¼è¿äºè¡ä¸ºåå³äºé¡¹ç®å®ç°ã"}),"\n",(0,r.jsxs)(e.p,{children:["æµè¯è¿è¡è¢«ä¸ææ¶ï¼æ¡æ¶ä»ä¼å°è¯æ§è¡ ",(0,r.jsx)(e.code,{children:"afterEach"}),"ã",(0,r.jsx)(e.code,{children:"afterAll"})," åéè¿ ",(0,r.jsx)(e.code,{children:"onTeardown()"})," 注åçæ¸
ç彿°ãåæ¶æºå¶ç详ç»è¯´æè§",(0,r.jsx)(e.a,{href:"/zh/midscene-test/configuration.html#%E8%B6%85%E6%97%B6%E4%B8%8E%E5%8F%96%E6%B6%88%E6%9C%BA%E5%88%B6",children:"è¶
æ¶ä¸åæ¶æºå¶"}),"ã"]}),"\n",(0,r.jsxs)(e.p,{children:["项ç®çº§æµè§å¨å Agent çæ¸
çè§",(0,r.jsx)(e.a,{href:"/zh/midscene-test/configuration.html#%E4%BD%BF%E7%94%A8-setup-%E5%88%9B%E5%BB%BA%E5%92%8C%E6%B8%85%E7%90%86%E5%85%B1%E4%BA%AB%E8%B5%84%E6%BA%90",children:"ä½¿ç¨ setup åå»ºåæ¸
çå
±äº«èµæº"}),"ã"]})]})}function l(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}={...(0,o.R)(),...s.components};return e?(0,r.jsx)(e,{...s,children:(0,r.jsx)(i,{...s})}):i(s)}l.__RSPRESS_PAGE_META={},l.__RSPRESS_PAGE_META["zh%2Fmidscene-test%2Fextend.mdx"]={toc:[{id:"注åèªå®ä¹ä¸å¡-node",text:"注åèªå®ä¹ä¸å¡ Node",depth:2},{id:"1-å®ä¹å¹¶æ³¨å-node",text:"1. å®ä¹å¹¶æ³¨å Node",depth:3},{id:"2-å¨-yaml-ä¸è°ç¨",text:"2. å¨ YAML ä¸è°ç¨",depth:3},{id:"3-çæ-node-说æä¹¦éªè¯æ³¨å",text:"3. çæ Node 说æä¹¦ï¼éªè¯æ³¨å",depth:3},{id:"node-æ§è¡åæ°",text:"Node æ§è¡åæ°",depth:2},{id:"ä¸å¡åæ°ä¸æ¥éª¤é
ç½®",text:"ä¸å¡åæ°ä¸æ¥éª¤é
ç½®",depth:3},{id:"å¯ç¨çæ§è¡å段",text:"å¯ç¨çæ§è¡å段",depth:3},{id:"è·¨-node-å
±äº«ä¸ä¸æ",text:"è·¨ Node å
±äº«ä¸ä¸æ",depth:2},{id:"å建å
±äº«ä¸ä¸æ",text:"å建å
±äº«ä¸ä¸æ",depth:3}
1,{id:"å¨-node-ä¸åå
¥æ°æ®",text:"å¨ Node ä¸åå
¥æ°æ®",depth:3},{id:"å¨åç»-node-ä¸è¯»åæ°æ®",text:"å¨åç» Node ä¸è¯»åæ°æ®",depth:3},{id:"è¿é¶ç¨æ³",text:"è¿é¶ç¨æ³",depth:2},{id:"è®°å½æ§è¡ç»æ",text:"è®°å½æ§è¡ç»æ",depth:3},{id:"弿¥æä½é误ä¸åæ¶",text:"弿¥æä½ãé误ä¸åæ¶",depth:3},{id:"èµæºççå½å¨æä¸æ¸
ç",text:"èµæºççå½å¨æä¸æ¸
ç",depth:3}],title:"ç¼åèªå®ä¹ Node",headingTitle:"ç¼åèªå®ä¹ Node",frontmatter:{}},n.d(e,{default:()=>l})}}]);
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.