071faa482c
纳入 AGC Cargo workspace 的统一 rustfmt 检查与格式化入口 完成项目 TypeScript/Prettier 与 Rust 全量格式化 修复 Pingora expected executable 门禁的空白敏感误报 同步开发运维文档与 AGC skill pack 格式化忽略规则
535 lines
77 KiB
JSON
535 lines
77 KiB
JSON
{
|
|
"numTotalTestSuites": 1,
|
|
"numPassedTestSuites": 1,
|
|
"numFailedTestSuites": 0,
|
|
"numPendingTestSuites": 0,
|
|
"numTotalTests": 58,
|
|
"numPassedTests": 50,
|
|
"numFailedTests": 8,
|
|
"numPendingTests": 0,
|
|
"numTodoTests": 0,
|
|
"startTime": 1779633396424,
|
|
"success": false,
|
|
"testResults": [
|
|
{
|
|
"assertionResults": [
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " opens wallet ledger modal from narrative coin card",
|
|
"status": "passed",
|
|
"title": "opens wallet ledger modal from narrative coin card",
|
|
"duration": 157,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile recharge modal shows native qr code on desktop web by default",
|
|
"status": "passed",
|
|
"title": "profile recharge modal shows native qr code on desktop web by default",
|
|
"duration": 183,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile recharge modal jumps to h5 payment on mobile web by default",
|
|
"status": "passed",
|
|
"title": "profile recharge modal jumps to h5 payment on mobile web by default",
|
|
"duration": 203,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile recharge modal trusts per-product first bonus display after points recharge",
|
|
"status": "passed",
|
|
"title": "profile recharge modal trusts per-product first bonus display after points recharge",
|
|
"duration": 120,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile recharge modal posts requestPayment params in mini program web-view",
|
|
"status": "passed",
|
|
"title": "profile recharge modal posts requestPayment params in mini program web-view",
|
|
"duration": 237,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile recharge modal waits for paid confirmation before refreshing dashboard",
|
|
"status": "passed",
|
|
"title": "profile recharge modal waits for paid confirmation before refreshing dashboard",
|
|
"duration": 1059,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile recharge modal loads wechat js sdk before mini program payment bridge",
|
|
"status": "passed",
|
|
"title": "profile recharge modal loads wechat js sdk before mini program payment bridge",
|
|
"duration": 374,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile recharge modal releases submitting state after cancelled wechat pay result",
|
|
"status": "passed",
|
|
"title": "profile recharge modal releases submitting state after cancelled wechat pay result",
|
|
"duration": 388,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile native qr confirmation refreshes only after server reports paid",
|
|
"status": "passed",
|
|
"title": "profile native qr confirmation refreshes only after server reports paid",
|
|
"duration": 421,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " non-wechat profile shows reward code instead of recharge entry",
|
|
"status": "failed",
|
|
"title": "non-wechat profile shows reward code instead of recharge entry",
|
|
"duration": 63,
|
|
"failureMessages": [
|
|
"expected <button type=\"button\" …(1)>…(3)</button> to be null"
|
|
],
|
|
"location": {
|
|
"line": 1805,
|
|
"column": 5
|
|
}
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile daily task shortcut opens task center and claims reward",
|
|
"status": "passed",
|
|
"title": "profile daily task shortcut opens task center and claims reward",
|
|
"duration": 392,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile total play time card always uses hours",
|
|
"status": "passed",
|
|
"title": "profile total play time card always uses hours",
|
|
"duration": 83,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile played works card shows count unit",
|
|
"status": "passed",
|
|
"title": "profile played works card shows count unit",
|
|
"duration": 73,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile stats cards are centered without update timestamp",
|
|
"status": "passed",
|
|
"title": "profile stats cards are centered without update timestamp",
|
|
"duration": 113,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile profile page matches the reference layout sections",
|
|
"status": "failed",
|
|
"title": "mobile profile page matches the reference layout sections",
|
|
"duration": 1045,
|
|
"failureMessages": [
|
|
"expected \"spy\" to be called 1 times, but got 0 times\n\nIgnored nodes: comments, script, style\n\u001b[36m<html>\u001b[39m\n \u001b[36m<head />\u001b[39m\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex h-full min-h-0 flex-col\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex h-full min-h-0 flex-col\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-shell flex h-full min-h-0 flex-col p-5 xl:p-6\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-topbar flex items-center gap-4 px-5 py-4\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex min-w-0 flex-1 items-center gap-5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo shrink-0\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m陶泥\u001b[0m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title-suffix\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m儿\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__subtitle\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGENARRATIVE\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-search flex min-w-0 items-center gap-3 px-4 py-3 text-[var(--platform-text-soft)] max-w-[34rem] flex-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-search h-4 w-4 shrink-0\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"m21 21-4.34-4.34\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<circle\u001b[39m\n \u001b[33mcx\u001b[39m=\u001b[32m\"11\"\u001b[39m\n \u001b[33mcy\u001b[39m=\u001b[32m\"11\"\u001b[39m\n \u001b[33mr\u001b[39m=\u001b[32m\"8\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"w-full min-w-0 bg-transparent text-sm text-[var(--platform-text-strong)] outline-none placeholder:text-[var(--platform-text-soft)]\"\u001b[39m\n \u001b[33mplaceholder\u001b[39m=\u001b[32m\"搜索作品号、名称、作者、描述\"\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"shrink-0 text-xs font-semibold text-[var(--platform-text-soft)] disabled:opacity-50\"\u001b[39m\n \u001b[33mdisabled\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m搜索\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex items-center gap-3\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-search flex items-center gap-3 px-3 py-2.5 text-left\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex h-11 w-11 items-center justify-center overflow-hidden rounded-full text-base font-black text-white\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"box-shadow: var(--platform-profile-avatar-shadow);\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m测\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"min-w-0\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"block truncate text-sm font-semibold text-[var(--platform-text-strong)]\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m测试玩家\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"block truncate text-xs text-[var(--platform-text-soft)]\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m100001\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"mt-5 flex min-h-0 gap-5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<aside\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-rail flex w-[5.8rem] shrink-0 flex-col gap-3 p-3\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"推荐\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-rail__button \"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-rail__icon-shell\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-sparkles platform-desktop-rail__icon h-[1.1rem] w-[1.1rem]\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0..."
|
|
],
|
|
"location": {
|
|
"line": 1892,
|
|
"column": 51
|
|
}
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " desktop account entry uses saved avatar image when available",
|
|
"status": "passed",
|
|
"title": "desktop account entry uses saved avatar image when available",
|
|
"duration": 73,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile avatar upload uses the shared square crop tool",
|
|
"status": "passed",
|
|
"title": "profile avatar upload uses the shared square crop tool",
|
|
"duration": 189,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " wallet ledger modal shows empty and error states",
|
|
"status": "failed",
|
|
"title": "wallet ledger modal shows empty and error states",
|
|
"duration": 1183,
|
|
"failureMessages": [
|
|
"Unable to find an element with the text: 暂无账单记录. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-mobile-entry-shell flex h-full min-h-0 min-w-0 flex-col overflow-hidden\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-mobile-topbar mb-3 flex shrink-0 items-center justify-between gap-3 px-0.5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"陶泥儿 GENARRATIVE\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m陶泥\u001b[0m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title-suffix\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m儿\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__subtitle\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGENARRATIVE\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel-stack min-w-0 flex-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-home\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-category\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-create\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-saves\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--active\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-profile\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-page-stage platform-remap-surface min-w-0 space-y-4 overflow-hidden pb-2 platform-profile-page\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__actions\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"打开充值入口\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__icon-button\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-scan-line h-5 w-5\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M3 7V5a2 2 0 0 1 2-2h2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M17 3h2a2 2 0 0 1 2 2v2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M21 17v2a2 2 0 0 1-2 2h-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M7 21H5a2 2 0 0 1-2-2v-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M7 12h10\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"打开设置\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__icon-button\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-settings h-5 w-5\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<circle\u001b[39m\n \u001b[33mcx\u001b[39m=\u001b[32m\"12\"\u001b[39m\n \u001b[33mcy\u001b[39m=\u001b[32m\"12\"\u001b[39m\n \u001b[33mr\u001b[39m=\u001b[32m\"3\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<img\u001b[39m\n \u001b[33malt\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-scene-decor\"\u001b[39m\n \u001b[33msrc\u001b[39m=\u001b[32m\"/media/profile/_Image (3).png\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__identity\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex min-w-0 items-center gap-4\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"上传头像\"\u001b[39m\n ...\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-mobile-entry-shell flex h-full min-h-0 min-w-0 flex-col overflow-hidden\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-mobile-topbar mb-3 flex shrink-0 items-center justify-between gap-3 px-0.5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"陶泥儿 GENARRATIVE\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m陶泥\u001b[0m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title-suffix\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m儿\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__subtitle\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGENARRATIVE\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel-stack min-w-0 flex-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-home\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-category\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-create\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-saves\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--active\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-profile\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-page-stage platform-remap-surface min-w-0 space-y-4 overflow-hidden pb-2 platform-profile-page\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__actions\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"打开充值入口\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__icon-button\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-scan-line h-5 w-5\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M3 7V5a2 2 0 0 1 2-2h2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M17 3h2a2 2 0 0 1 2 2v2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M21 17v2a2 2 0 0 1-2 2h-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M7 21H5a2 2 0 0 1-2-2v-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M7 12h10\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"打开设置\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__icon-button\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-settings h-5 w-5\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<circle\u001b[39m\n \u001b[33mcx\u001b[39m=\u001b[32m\"12\"\u001b[39m\n \u001b[33mcy\u001b[39m=\u001b[32m\"12\"\u001b[39m\n \u001b[33mr\u001b[39m=\u001b[32m\"3\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<img\u001b[39m\n \u001b[33malt\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-scene-decor\"\u001b[39m\n \u001b[33msrc\u001b[39m=\u001b[32m\"/media/profile/_Image (3).png\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__identity\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex min-w-0 items-center gap-4\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"上传头像\"\u001b[39m\n ..."
|
|
],
|
|
"location": {
|
|
"line": 163,
|
|
"column": 27
|
|
}
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile invite shortcut shows reward subtitle and invited users",
|
|
"status": "failed",
|
|
"title": "profile invite shortcut shows reward subtitle and invited users",
|
|
"duration": 77,
|
|
"failureMessages": [
|
|
"Unable to find an element with the text: 双方得30. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-shortcut-button flex min-h-[5.25rem] flex-col items-center justify-center gap-2 px-2.5 py-3 text-center transition\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n\u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-shortcut-button__icon\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<img\u001b[39m\n \u001b[33malt\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"h-full w-full object-contain\"\u001b[39m\n \u001b[33msrc\u001b[39m=\u001b[32m\"/media/profile/_Image (5).png\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"whitespace-nowrap text-[13px] font-semibold text-[var(--platform-text-strong)]\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m邀请好友\u001b[0m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex min-h-4 items-center justify-center gap-1 whitespace-nowrap text-[11px] font-medium text-[var(--platform-text-soft)]\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m双方得 30 泥点\u001b[0m\n \u001b[36m</div>\u001b[39m\n\u001b[36m</button>\u001b[39m"
|
|
],
|
|
"location": {
|
|
"line": 37,
|
|
"column": 19
|
|
}
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile redeem invite shortcut sits between invite and community for fresh accounts",
|
|
"status": "failed",
|
|
"title": "profile redeem invite shortcut sits between invite and community for fresh accounts",
|
|
"duration": 209,
|
|
"failureMessages": ["expected +0 to be truthy"],
|
|
"location": {
|
|
"line": 2058,
|
|
"column": 5
|
|
}
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile redeem invite shortcut hides after redeemed or one day old",
|
|
"status": "passed",
|
|
"title": "profile redeem invite shortcut hides after redeemed or one day old",
|
|
"duration": 226,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " invite query opens login modal for logged out users",
|
|
"status": "passed",
|
|
"title": "invite query opens login modal for logged out users",
|
|
"duration": 20,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " invite query opens redeem modal directly for logged in users",
|
|
"status": "passed",
|
|
"title": "invite query opens redeem modal directly for logged in users",
|
|
"duration": 154,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile redeem invite modal reads query invite code after login",
|
|
"status": "passed",
|
|
"title": "profile redeem invite modal reads query invite code after login",
|
|
"duration": 71,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile redeem invite modal submits code and hides shortcut after success",
|
|
"status": "failed",
|
|
"title": "profile redeem invite modal submits code and hides shortcut after success",
|
|
"duration": 1054,
|
|
"failureMessages": [
|
|
"Unable to find role=\"button\" and name `/填邀请码/u`\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-mobile-entry-shell flex h-full min-h-0 min-w-0 flex-col overflow-hidden\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-mobile-topbar mb-3 flex shrink-0 items-center justify-between gap-3 px-0.5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"陶泥儿 GENARRATIVE\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m陶泥\u001b[0m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title-suffix\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m儿\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__subtitle\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGENARRATIVE\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel-stack min-w-0 flex-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-home\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-category\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-create\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-saves\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--active\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-profile\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-page-stage platform-remap-surface min-w-0 space-y-4 overflow-hidden pb-2 platform-profile-page\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__actions\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"打开充值入口\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__icon-button\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-scan-line h-5 w-5\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M3 7V5a2 2 0 0 1 2-2h2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M17 3h2a2 2 0 0 1 2 2v2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M21 17v2a2 2 0 0 1-2 2h-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M7 21H5a2 2 0 0 1-2-2v-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M7 12h10\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"打开设置\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__icon-button\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-settings h-5 w-5\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<circle\u001b[39m\n \u001b[33mcx\u001b[39m=\u001b[32m\"12\"\u001b[39m\n \u001b[33mcy\u001b[39m=\u001b[32m\"12\"\u001b[39m\n \u001b[33mr\u001b[39m=\u001b[32m\"3\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<img\u001b[39m\n \u001b[33malt\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-scene-decor\"\u001b[39m\n \u001b[33msrc\u001b[39m=\u001b[32m\"/media/profile/_Image (3).png\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__identity\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex min-w-0 items-center gap-4\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"上传头像\"\u001b[39m\n ...\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-mobile-entry-shell flex h-full min-h-0 min-w-0 flex-col overflow-hidden\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-mobile-topbar mb-3 flex shrink-0 items-center justify-between gap-3 px-0.5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"陶泥儿 GENARRATIVE\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m陶泥\u001b[0m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title-suffix\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m儿\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__subtitle\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGENARRATIVE\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel-stack min-w-0 flex-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-home\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-category\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-create\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--hidden\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-saves\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-tab-panel platform-tab-panel--active\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"platform-tab-panel-profile\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-page-stage platform-remap-surface min-w-0 space-y-4 overflow-hidden pb-2 platform-profile-page\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__actions\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"打开充值入口\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__icon-button\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-scan-line h-5 w-5\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M3 7V5a2 2 0 0 1 2-2h2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M17 3h2a2 2 0 0 1 2 2v2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M21 17v2a2 2 0 0 1-2 2h-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M7 21H5a2 2 0 0 1-2-2v-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M7 12h10\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"打开设置\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__icon-button\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-settings h-5 w-5\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<circle\u001b[39m\n \u001b[33mcx\u001b[39m=\u001b[32m\"12\"\u001b[39m\n \u001b[33mcy\u001b[39m=\u001b[32m\"12\"\u001b[39m\n \u001b[33mr\u001b[39m=\u001b[32m\"3\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<img\u001b[39m\n \u001b[33malt\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-scene-decor\"\u001b[39m\n \u001b[33msrc\u001b[39m=\u001b[32m\"/media/profile/_Image (3).png\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-profile-header__identity\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex min-w-0 items-center gap-4\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"上传头像\"\u001b[39m\n ..."
|
|
],
|
|
"location": {
|
|
"line": 163,
|
|
"column": 27
|
|
}
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " opens reward code modal from profile action on mobile",
|
|
"status": "passed",
|
|
"title": "opens reward code modal from profile action on mobile",
|
|
"duration": 234,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " profile page shows legal entries and ICP record link",
|
|
"status": "failed",
|
|
"title": "profile page shows legal entries and ICP record link",
|
|
"duration": 38,
|
|
"failureMessages": [
|
|
"expected false to be true // Object.is equality"
|
|
],
|
|
"location": {
|
|
"line": 2174,
|
|
"column": 5
|
|
}
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " shows a reachable login entry outside mobile recommend tab",
|
|
"status": "passed",
|
|
"title": "shows a reachable login entry outside mobile recommend tab",
|
|
"duration": 72,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged out bottom nav turns active recommend tab into next action",
|
|
"status": "passed",
|
|
"title": "logged out bottom nav turns active recommend tab into next action",
|
|
"duration": 26,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged in draft bottom tab shows unread marker",
|
|
"status": "passed",
|
|
"title": "logged in draft bottom tab shows unread marker",
|
|
"duration": 28,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged in create tab shows real wallet balance beside the brand",
|
|
"status": "passed",
|
|
"title": "logged in create tab shows real wallet balance beside the brand",
|
|
"duration": 24,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile discover search submits public work code",
|
|
"status": "passed",
|
|
"title": "mobile discover search submits public work code",
|
|
"duration": 415,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " discover search fuzzy matches public work id, name, author and description",
|
|
"status": "passed",
|
|
"title": "discover search fuzzy matches public work id, name, author and description",
|
|
"duration": 1186,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile discover keeps edutainment works in the last dedicated channel only",
|
|
"status": "passed",
|
|
"title": "mobile discover keeps edutainment works in the last dedicated channel only",
|
|
"duration": 661,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " desktop discover shows child motion demo in edutainment channel",
|
|
"status": "passed",
|
|
"title": "desktop discover shows child motion demo in edutainment channel",
|
|
"duration": 200,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile discover hides edutainment channel and work when switch is disabled",
|
|
"status": "passed",
|
|
"title": "mobile discover hides edutainment channel and work when switch is disabled",
|
|
"duration": 326,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile discover keeps baby object match works in edutainment channel only",
|
|
"status": "passed",
|
|
"title": "mobile discover keeps baby object match works in edutainment channel only",
|
|
"duration": 419,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " discover search keeps public code fallback when local works do not match",
|
|
"status": "passed",
|
|
"title": "discover search keeps public code fallback when local works do not match",
|
|
"duration": 372,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " public gallery cards hide work code until detail is opened",
|
|
"status": "passed",
|
|
"title": "public gallery cards hide work code until detail is opened",
|
|
"duration": 124,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged out mobile shell defaults to discover tab",
|
|
"status": "passed",
|
|
"title": "logged out mobile shell defaults to discover tab",
|
|
"duration": 23,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged out recommend tab opens login modal and shows cover only",
|
|
"status": "passed",
|
|
"title": "logged out recommend tab opens login modal and shows cover only",
|
|
"duration": 89,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged out recommend cover opens login modal again",
|
|
"status": "passed",
|
|
"title": "logged out recommend cover opens login modal again",
|
|
"duration": 138,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged out desktop recommend page renders cover only",
|
|
"status": "passed",
|
|
"title": "logged out desktop recommend page renders cover only",
|
|
"duration": 20,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged in recommend page uses gated recommend detail callback",
|
|
"status": "passed",
|
|
"title": "logged in recommend page uses gated recommend detail callback",
|
|
"duration": 57,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged out mobile recommend page renders cover instead of runtime",
|
|
"status": "passed",
|
|
"title": "logged out mobile recommend page renders cover instead of runtime",
|
|
"duration": 21,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile recommend loading state is themed instead of hardcoded black",
|
|
"status": "passed",
|
|
"title": "mobile recommend loading state is themed instead of hardcoded black",
|
|
"duration": 18,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged in recommend runtime preloads adjacent work previews and drag switches like video feed",
|
|
"status": "passed",
|
|
"title": "logged in recommend runtime preloads adjacent work previews and drag switches like video feed",
|
|
"duration": 79,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " logged out active recommend bottom tab selects next work without login",
|
|
"status": "passed",
|
|
"title": "logged out active recommend bottom tab selects next work without login",
|
|
"duration": 66,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile recommend meta loads real author avatar from public user summary",
|
|
"status": "passed",
|
|
"title": "mobile recommend meta loads real author avatar from public user summary",
|
|
"duration": 27,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile discover recommend feed only rotates the card closest to screen center",
|
|
"status": "passed",
|
|
"title": "mobile discover recommend feed only rotates the card closest to screen center",
|
|
"duration": 71,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile discover recommend feed renders cover fallback for legacy browsers",
|
|
"status": "passed",
|
|
"title": "mobile discover recommend feed renders cover fallback for legacy browsers",
|
|
"duration": 26,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile today channel only shows newly published works from today",
|
|
"status": "passed",
|
|
"title": "mobile today channel only shows newly published works from today",
|
|
"duration": 86,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " desktop logged in home syncs mobile home modules without square or latest labels",
|
|
"status": "failed",
|
|
"title": "desktop logged in home syncs mobile home modules without square or latest labels",
|
|
"duration": 28,
|
|
"failureMessages": [
|
|
"Unable to find an element with the text: 拼图. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex h-full min-h-0 flex-col\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex h-full min-h-0 flex-col\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-shell flex h-full min-h-0 flex-col p-5 xl:p-6\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-topbar flex items-center gap-4 px-5 py-4\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex min-w-0 flex-1 items-center gap-5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo shrink-0\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m陶泥\u001b[0m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__title-suffix\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m儿\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-brand-logo__subtitle\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGENARRATIVE\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-search flex min-w-0 items-center gap-3 px-4 py-3 text-[var(--platform-text-soft)] max-w-[34rem] flex-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-search h-4 w-4 shrink-0\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"m21 21-4.34-4.34\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<circle\u001b[39m\n \u001b[33mcx\u001b[39m=\u001b[32m\"11\"\u001b[39m\n \u001b[33mcy\u001b[39m=\u001b[32m\"11\"\u001b[39m\n \u001b[33mr\u001b[39m=\u001b[32m\"8\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"w-full min-w-0 bg-transparent text-sm text-[var(--platform-text-strong)] outline-none placeholder:text-[var(--platform-text-soft)]\"\u001b[39m\n \u001b[33mplaceholder\u001b[39m=\u001b[32m\"搜索作品号、名称、作者、描述\"\u001b[39m\n \u001b[33mvalue\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"shrink-0 text-xs font-semibold text-[var(--platform-text-soft)] disabled:opacity-50\"\u001b[39m\n \u001b[33mdisabled\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m搜索\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex items-center gap-3\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-search flex items-center gap-3 px-3 py-2.5 text-left\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"flex h-11 w-11 items-center justify-center overflow-hidden rounded-full text-base font-black text-white\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"box-shadow: var(--platform-profile-avatar-shadow);\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m测\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"min-w-0\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"block truncate text-sm font-semibold text-[var(--platform-text-strong)]\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m测试玩家\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"block truncate text-xs text-[var(--platform-text-soft)]\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m100001\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"mt-5 flex min-h-0 gap-5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<aside\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-rail flex w-[5.8rem] shrink-0 flex-col gap-3 p-3\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"推荐\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-rail__button platform-desktop-rail__button--active\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"platform-desktop-rail__icon-shell\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"lucide lucide-sparkles platform-desktop-rail__icon h-[1.1rem] w-[1.1rem]\"\u001b[39m\n \u001b[33mfill\u001b[39m=\u001b[32m\"none\"\u001b[39m\n \u001b[33mheight\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mstroke\u001b[39m=\u001b[32m\"currentColor\"\u001b[39m\n \u001b[33mstroke-linecap\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-linejoin\u001b[39m=\u001b[32m\"round\"\u001b[39m\n \u001b[33mstroke-width\u001b[39m=\u001b[32m\"2\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[33mwidth\u001b[39m=\u001b[32m\"24\"\u001b[39m\n \u001b[33mxmlns\u001b[39m=\u001b[32m\"http://www.w3.org/2000/svg\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M20 2v4\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<path..."
|
|
],
|
|
"location": {
|
|
"line": 37,
|
|
"column": 19
|
|
}
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile home moves category shelf into game category channel",
|
|
"status": "passed",
|
|
"title": "mobile home moves category shelf into game category channel",
|
|
"duration": 119,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile game category list orders works by composite public metric",
|
|
"status": "passed",
|
|
"title": "mobile game category list orders works by composite public metric",
|
|
"duration": 173,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " mobile game category filter dialog filters by play type",
|
|
"status": "passed",
|
|
"title": "mobile game category filter dialog filters by play type",
|
|
"duration": 344,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " bottom category tab becomes ranking and switches ranking metrics",
|
|
"status": "passed",
|
|
"title": "bottom category tab becomes ranking and switches ranking metrics",
|
|
"duration": 326,
|
|
"failureMessages": []
|
|
},
|
|
{
|
|
"ancestorTitles": [""],
|
|
"fullName": " ranking rows limit displayed work name and show two short tags on the third line",
|
|
"status": "passed",
|
|
"title": "ranking rows limit displayed work name and show two short tags on the third line",
|
|
"duration": 155,
|
|
"failureMessages": []
|
|
}
|
|
],
|
|
"startTime": 1779633397652,
|
|
"endTime": 1779633411811,
|
|
"status": "failed",
|
|
"message": "",
|
|
"name": "C:/Genarrative/src/components/rpg-entry/RpgEntryHomeView.recharge.test.tsx"
|
|
}
|
|
]
|
|
}
|