{"version":8,"type":"context-options","origin":"testRunner","browserName":"","playwrightVersion":"1.61.1","options":{},"platform":"linux","wallTime":1784878426533,"monotonicTime":158196.678,"sdkLanguage":"javascript","testTimeout":60000}
{"type":"before","callId":"hook@1","stepId":"hook@1","startTime":158205.86,"class":"Test","method":"hook","title":"Before Hooks","params":{},"stack":[]}
{"type":"before","callId":"fixture@28","stepId":"fixture@28","parentId":"hook@1","startTime":158210.19,"class":"Test","method":"fixture","title":"Fixture \"browser\"","params":{},"stack":[]}
{"type":"before","callId":"pw:api@29","stepId":"pw:api@29","parentId":"fixture@28","startTime":158211.385,"class":"Test","method":"pw:api","title":"Launch browser","params":{"handleSIGINT":"false","executablePath":"/usr/bin/chromium-browser","args":"[--no-sandbox, --disable-setuid-sandbox, --disable-dev-shm-usage]","tracesDir":"/app/test-results/.playwright-artifacts-26/traces","artifactsDir":"/app/test-results/.playwright-artifacts-26","headless":"true","ignoreDefaultArgs":"undefined","ignoreAllDefaultArgs":"false","env":"undefined","timeout":"180000"},"stack":[]}
{"type":"after","callId":"pw:api@29","endTime":158311.049,"annotations":[]}
{"type":"after","callId":"fixture@28","endTime":158311.123,"annotations":[]}
{"type":"before","callId":"fixture@32","stepId":"fixture@32","parentId":"hook@1","startTime":158312.66,"class":"Test","method":"fixture","title":"Fixture \"context\"","params":{},"stack":[]}
{"type":"before","callId":"pw:api@33","stepId":"pw:api@33","parentId":"fixture@32","startTime":158313.912,"class":"Test","method":"pw:api","title":"Create context","params":{"selectorEngines":"[]","testIdAttributeName":"data-testid","acceptDownloads":"accept","bypassCSP":"false","colorScheme":"light","hasTouch":"false","ignoreHTTPSErrors":"false","isMobile":"false","javaScriptEnabled":"true","locale":"zh-CN","offline":"false","viewport":"Object","baseURL":"http://192.168.3.151:5173","serviceWorkers":"allow","noDefaultViewport":"false","extraHTTPHeaders":"undefined","storageState":"undefined","reducedMotion":"undefined","forcedColors":"undefined","contrast":"undefined","clientCertificates":"undefined"},"stack":[]}
{"type":"after","callId":"pw:api@33","endTime":158319.729,"annotations":[]}
{"type":"after","callId":"fixture@32","endTime":158323.464,"annotations":[]}
{"type":"before","callId":"fixture@34","stepId":"fixture@34","parentId":"hook@1","startTime":158323.832,"class":"Test","method":"fixture","title":"Fixture \"page\"","params":{},"stack":[]}
{"type":"before","callId":"pw:api@35","stepId":"pw:api@35","parentId":"fixture@34","startTime":158324.681,"class":"Test","method":"pw:api","title":"Create page","params":{},"stack":[]}
{"type":"after","callId":"pw:api@35","endTime":158356.912,"annotations":[]}
{"type":"after","callId":"fixture@34","endTime":158357.058,"annotations":[]}
{"type":"after","callId":"hook@1","endTime":158357.282,"annotations":[]}
{"type":"before","callId":"pw:api@36","stepId":"pw:api@36","startTime":158358.93,"class":"Test","method":"pw:api","title":"Navigate to \"/login\"","params":{"url":"/login","waitUntil":"load","timeout":"0"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":10,"column":14,"function":"loginAndEnterStore"}]}
{"type":"after","callId":"pw:api@36","endTime":159217.674,"annotations":[]}
{"type":"before","callId":"pw:api@37","stepId":"pw:api@37","startTime":159218.86,"class":"Test","method":"pw:api","title":"Fill \"echo@shboka.com\" getByLabel('邮箱')","params":{"selector":"internal:label=\"邮箱\"i","value":"echo@shboka.com","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":11,"column":31,"function":"loginAndEnterStore"}]}
{"type":"after","callId":"pw:api@37","endTime":159238.603,"annotations":[]}
{"type":"before","callId":"pw:api@38","stepId":"pw:api@38","startTime":159239.063,"class":"Test","method":"pw:api","title":"Fill \"123456\" getByLabel('密码')","params":{"selector":"internal:label=\"密码\"i","value":"123456","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":12,"column":31,"function":"loginAndEnterStore"}]}
{"type":"after","callId":"pw:api@38","endTime":159246.098,"annotations":[]}
{"type":"before","callId":"pw:api@39","stepId":"pw:api@39","startTime":159246.847,"class":"Test","method":"pw:api","title":"Click getByRole('button', { name: '登录' })","params":{"selector":"internal:role=button[name=\"登录\"i]","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":13,"column":50,"function":"loginAndEnterStore"}]}
{"type":"after","callId":"pw:api@39","endTime":159278.896,"annotations":[]}
{"type":"before","callId":"expect@40","stepId":"expect@40","startTime":159280.487,"class":"Test","method":"expect","title":"Expect \"toBeVisible\"","params":{"expected":"Object"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":14,"column":40,"function":"loginAndEnterStore"}]}
{"type":"after","callId":"expect@40","endTime":160081,"annotations":[]}
{"type":"before","callId":"pw:api@41","stepId":"pw:api@41","startTime":160082.803,"class":"Test","method":"pw:api","title":"Click getByRole('button', { name: 'boka-nail' })","params":{"selector":"internal:role=button[name=\"boka-nail\"i]","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":15,"column":51,"function":"loginAndEnterStore"}]}
{"type":"after","callId":"pw:api@41","endTime":160108.723,"annotations":[]}
{"type":"before","callId":"pw:api@42","stepId":"pw:api@42","startTime":160109.621,"class":"Test","method":"pw:api","title":"Click getByRole('button', { name: '进入门店' })","params":{"selector":"internal:role=button[name=\"进入门店\"i]","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":16,"column":52,"function":"loginAndEnterStore"}]}
{"type":"after","callId":"pw:api@42","endTime":160160.926,"annotations":[]}
{"type":"before","callId":"expect@43","stepId":"expect@43","startTime":160161.345,"class":"Test","method":"expect","title":"Expect \"toBeVisible\"","params":{"expected":"Object"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":17,"column":60,"function":"loginAndEnterStore"}]}
{"type":"after","callId":"expect@43","endTime":160346.923,"annotations":[]}
{"type":"before","callId":"pw:api@44","stepId":"pw:api@44","startTime":160347.428,"class":"Test","method":"pw:api","title":"Navigate to \"/pos/orders\"","params":{"url":"/pos/orders","waitUntil":"load","timeout":"0"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":22,"column":14,"function":"enterPOS"}]}
{"type":"after","callId":"pw:api@44","endTime":160587.805,"annotations":[]}
{"type":"before","callId":"expect@45","stepId":"expect@45","startTime":160588.264,"class":"Test","method":"expect","title":"Expect \"toBeVisible\"","params":{"expected":"Object"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":23,"column":59,"function":"enterPOS"}]}
{"type":"after","callId":"expect@45","endTime":160597.16,"annotations":[]}
{"type":"before","callId":"pw:api@46","stepId":"pw:api@46","startTime":160597.577,"class":"Test","method":"pw:api","title":"Click getByRole('button', { name: '收银台' })","params":{"selector":"internal:role=button[name=\"收银台\"i]","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":26,"column":51,"function":"enterPOS"}]}
{"type":"after","callId":"pw:api@46","endTime":160636.78,"annotations":[]}
{"type":"before","callId":"pw:api@47","stepId":"pw:api@47","startTime":160637.16,"class":"Test","method":"pw:api","title":"Wait for timeout","params":{"waitTimeout":"1000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":27,"column":14,"function":"enterPOS"}]}
{"type":"after","callId":"pw:api@47","endTime":161648.825,"annotations":[]}
{"type":"before","callId":"pw:api@48","stepId":"pw:api@48","startTime":161650.533,"class":"Test","method":"pw:api","title":"Is visible getByRole('button', { name: '开班' })","params":{"selector":"internal:role=button[name=\"开班\"i]","strict":"true","timeout":"3000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":31,"column":26,"function":"enterPOS"}],"group":"getter"}
{"type":"after","callId":"pw:api@48","endTime":161659.936,"annotations":[]}
{"type":"before","callId":"pw:api@49","stepId":"pw:api@49","startTime":161661.533,"class":"Test","method":"pw:api","title":"Fill \"Ada\" getByPlaceholder('搜索客户（名字/手机号）...')","params":{"selector":"internal:attr=[placeholder=\"搜索客户（名字/手机号）...\"i]","value":"Ada","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":191,"column":26}]}
{"type":"after","callId":"pw:api@49","endTime":161677.933,"annotations":[]}
{"type":"before","callId":"pw:api@50","stepId":"pw:api@50","startTime":161678.424,"class":"Test","method":"pw:api","title":"Wait for timeout","params":{"waitTimeout":"1000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":192,"column":16}]}
{"type":"after","callId":"pw:api@50","endTime":162685.697,"annotations":[]}
{"type":"before","callId":"pw:api@51","stepId":"pw:api@51","startTime":162687.121,"class":"Test","method":"pw:api","title":"Click getByRole('button', { name: /Ada/ }).first()","params":{"selector":"internal:role=button[name=/Ada/] >> nth=0","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":195,"column":61}]}
{"type":"after","callId":"pw:api@51","endTime":162739.301,"annotations":[]}
{"type":"before","callId":"pw:api@52","stepId":"pw:api@52","startTime":162739.641,"class":"Test","method":"pw:api","title":"Wait for timeout","params":{"waitTimeout":"500"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":196,"column":16}]}
{"type":"after","callId":"pw:api@52","endTime":163246.567,"annotations":[]}
{"type":"before","callId":"expect@53","stepId":"expect@53","startTime":163247.794,"class":"Test","method":"expect","title":"Expect \"toBeVisible\"","params":{},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":199,"column":41}]}
{"type":"after","callId":"expect@53","endTime":163255.768,"annotations":[]}
{"type":"before","callId":"expect@54","stepId":"expect@54","startTime":163256.564,"class":"Test","method":"expect","title":"Expect \"toBeVisible\"","params":{},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":200,"column":50}]}
{"type":"after","callId":"expect@54","endTime":163262.626,"annotations":[]}
{"type":"before","callId":"pw:api@55","stepId":"pw:api@55","startTime":163263.578,"class":"Test","method":"pw:api","title":"Click getByRole('button', { name: '服务' })","params":{"selector":"internal:role=button[name=\"服务\"i]","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":46,"column":50,"function":"addServiceToCart"}]}
{"type":"after","callId":"pw:api@55","endTime":163296.882,"annotations":[]}
{"type":"before","callId":"pw:api@56","stepId":"pw:api@56","startTime":163297.324,"class":"Test","method":"pw:api","title":"Wait for timeout","params":{"waitTimeout":"500"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":47,"column":14,"function":"addServiceToCart"}]}
{"type":"after","callId":"pw:api@56","endTime":163809.676,"annotations":[]}
{"type":"before","callId":"pw:api@57","stepId":"pw:api@57","startTime":163811.327,"class":"Test","method":"pw:api","title":"Click getByRole('button', { name: /纯色美甲/ })","params":{"selector":"internal:role=button[name=/纯色美甲/]","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":49,"column":69,"function":"addServiceToCart"}]}
{"type":"after","callId":"pw:api@57","endTime":163854.838,"annotations":[]}
{"type":"before","callId":"pw:api@58","stepId":"pw:api@58","startTime":163855.711,"class":"Test","method":"pw:api","title":"Wait for timeout","params":{"waitTimeout":"500"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":50,"column":14,"function":"addServiceToCart"}]}
{"type":"after","callId":"pw:api@58","endTime":164369.44,"annotations":[]}
{"type":"before","callId":"pw:api@59","stepId":"pw:api@59","startTime":164371.133,"class":"Test","method":"pw:api","title":"Click getByRole('button', { name: '继续付款 ›' })","params":{"selector":"internal:role=button[name=\"继续付款 ›\"i]","strict":"true","timeout":"15000"},"stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":55,"column":54,"function":"goToPayment"}]}
{"type":"after","callId":"pw:api@59","endTime":179388.21,"annotations":[],"error":{"name":"","message":"TimeoutError: locator.click: Timeout 15000ms exceeded.\nCall log:\n\u001b[2m  - waiting for getByRole('button', { name: '继续付款 ›' })\u001b[22m\n","stack":"TimeoutError: locator.click: Timeout 15000ms exceeded.\nCall log:\n\u001b[2m  - waiting for getByRole('button', { name: '继续付款 ›' })\u001b[22m\n\n    at goToPayment (/app/tests/cashier-full-flow.spec.ts:55:54)\n    at /app/tests/cashier-full-flow.spec.ts:206:11"}}
{"type":"error","message":"TimeoutError: locator.click: Timeout 15000ms exceeded.\nCall log:\n\u001b[2m  - waiting for getByRole('button', { name: '继续付款 ›' })\u001b[22m\n","stack":[{"file":"/app/tests/cashier-full-flow.spec.ts","line":55,"column":54,"function":"goToPayment"},{"file":"/app/tests/cashier-full-flow.spec.ts","line":206,"column":11}]}
{"type":"before","callId":"hook@60","stepId":"hook@60","startTime":179389.08,"class":"Test","method":"hook","title":"After Hooks","params":{},"stack":[]}
{"type":"before","callId":"fixture@61","stepId":"fixture@61","parentId":"hook@60","startTime":179448.585,"class":"Test","method":"fixture","title":"Fixture \"page\"","params":{},"stack":[]}
{"type":"after","callId":"fixture@61","endTime":179448.676,"annotations":[]}
{"type":"before","callId":"fixture@62","stepId":"fixture@62","parentId":"hook@60","startTime":179448.773,"class":"Test","method":"fixture","title":"Fixture \"context\"","params":{},"stack":[]}
{"type":"before","callId":"pw:api@63","stepId":"pw:api@63","parentId":"fixture@62","startTime":179543.864,"class":"Test","method":"pw:api","title":"Close context","params":{"reason":"Test ended."},"stack":[]}
{"type":"after","callId":"pw:api@63","endTime":179550.094,"annotations":[]}
{"type":"after","callId":"fixture@62","endTime":179550.121,"annotations":[]}
{"type":"before","callId":"fixture@68","stepId":"fixture@68","parentId":"hook@60","startTime":179550.553,"class":"Test","method":"fixture","title":"Fixture \"actionTimeout\"","params":{},"stack":[{"file":"project#chromium","line":1,"column":1}],"group":"configuration"}
{"type":"after","callId":"fixture@68","endTime":179550.563,"annotations":[]}
{"type":"before","callId":"attach@91b52d64cde9affdd9c045b3f13162a7","stepId":"attach@91b52d64cde9affdd9c045b3f13162a7","startTime":179552.411,"class":"Test","method":"test.attach","title":"Attach \"error-context\"","params":{},"stack":[]}
{"type":"after","callId":"attach@91b52d64cde9affdd9c045b3f13162a7","endTime":179552.418,"attachments":[{"name":"error-context","contentType":"text/markdown","sha1":"10b3780a21df2ac997f169928d8582e0e5ca5934"}]}
{"type":"before","callId":"fixture@72","stepId":"fixture@72","parentId":"hook@60","startTime":179552.881,"class":"Test","method":"fixture","title":"Fixture \"baseURL\"","params":{},"stack":[{"file":"project#chromium","line":1,"column":1}],"group":"configuration"}
{"type":"after","callId":"fixture@72","endTime":179552.894,"annotations":[]}
{"type":"before","callId":"fixture@75","stepId":"fixture@75","parentId":"hook@60","startTime":179553.083,"class":"Test","method":"fixture","title":"Fixture \"viewport\"","params":{},"stack":[{"file":"project#chromium","line":1,"column":1}],"group":"configuration"}
{"type":"after","callId":"fixture@75","endTime":179553.093,"annotations":[]}
{"type":"before","callId":"fixture@80","stepId":"fixture@80","parentId":"hook@60","startTime":179553.529,"class":"Test","method":"fixture","title":"Fixture \"locale\"","params":{},"stack":[{"file":"project#chromium","line":1,"column":1}],"group":"configuration"}
{"type":"after","callId":"fixture@80","endTime":179553.54,"annotations":[]}
{"type":"after","callId":"hook@60","endTime":179554.536,"attachments":[{"name":"screenshot","contentType":"image/png","sha1":"3f7005c59e4fceb458eb1483c0a39cab04506eeb"}],"annotations":[]}
{"type":"before","callId":"hook@94","stepId":"hook@94","startTime":179554.646,"class":"Test","method":"hook","title":"Worker Cleanup","params":{},"stack":[]}
{"type":"before","callId":"fixture@98","stepId":"fixture@98","parentId":"hook@94","startTime":179555.003,"class":"Test","method":"fixture","title":"Fixture \"browser\"","params":{},"stack":[]}
{"type":"after","callId":"fixture@98","endTime":179579.021,"annotations":[]}
{"type":"before","callId":"fixture@101","stepId":"fixture@101","parentId":"hook@94","startTime":179579.343,"class":"Test","method":"fixture","title":"Fixture \"browserName\"","params":{},"stack":[{"file":"project#chromium","line":1,"column":1}],"group":"configuration"}
{"type":"after","callId":"fixture@101","endTime":179579.356,"annotations":[]}
{"type":"before","callId":"fixture@102","stepId":"fixture@102","parentId":"hook@94","startTime":179579.414,"class":"Test","method":"fixture","title":"Fixture \"screenshot\"","params":{},"stack":[{"file":"project#chromium","line":1,"column":1}],"group":"configuration"}
{"type":"after","callId":"fixture@102","endTime":179579.424,"annotations":[]}
{"type":"before","callId":"fixture@105","stepId":"fixture@105","parentId":"hook@94","startTime":179579.619,"class":"Test","method":"fixture","title":"Fixture \"launchOptions\"","params":{},"stack":[{"file":"project#chromium","line":1,"column":1}],"group":"configuration"}
{"type":"after","callId":"fixture@105","endTime":179579.627,"annotations":[]}
{"type":"before","callId":"fixture@106","stepId":"fixture@106","parentId":"hook@94","startTime":179579.688,"class":"Test","method":"fixture","title":"Fixture \"headless\"","params":{},"stack":[{"file":"project#chromium","line":1,"column":1}],"group":"configuration"}
{"type":"after","callId":"fixture@106","endTime":179579.696,"annotations":[]}
{"type":"after","callId":"hook@94","endTime":179579.773,"annotations":[]}