Capture v17.7.1 browser module diagnostics
This commit is contained in:
parent
9839f764f3
commit
69d483519e
33
.github/workflows/browser-diag-v1771.yml
vendored
33
.github/workflows/browser-diag-v1771.yml
vendored
@ -1,33 +0,0 @@
|
||||
name: Caterium v17.7.1 browser diagnostic
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- '.github/workflows/browser-diag-v1771.yml'
|
||||
permissions:
|
||||
contents: write
|
||||
jobs:
|
||||
diagnose:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
- run: npm install
|
||||
- run: npx playwright install --with-deps chromium
|
||||
- name: Diagnose browser module loading
|
||||
run: |
|
||||
npx http-server public -p 4173 -c-1 > /tmp/caterium-http.log 2>&1 &
|
||||
sleep 2
|
||||
node ops/browser_diag_v1771.mjs > ops/browser-diag-v1771.txt
|
||||
- name: Commit diagnostic result
|
||||
run: |
|
||||
rm -f .github/workflows/browser-diag-v1771.yml ops/browser_diag_v1771.mjs ops/e2e-v1771.txt
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git add -A
|
||||
git add -f ops/browser-diag-v1771.txt
|
||||
git commit -m "Capture v17.7.1 browser module diagnostics"
|
||||
git push
|
||||
38
ops/browser-diag-v1771.txt
Normal file
38
ops/browser-diag-v1771.txt
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
"state": {
|
||||
"readyState": "complete",
|
||||
"performanceLoaded": true,
|
||||
"data1771": true,
|
||||
"data1770": true,
|
||||
"dataCurrent": true,
|
||||
"perfScript": "http://127.0.0.1:4173/core/performance.js?v=20260909-v17-7-1-data-layer-adoption",
|
||||
"dataScript": "http://127.0.0.1:4173/core/data-layer-v1771.js?v=20260909-v17-7-1-data-layer-adoption",
|
||||
"dataFetch": {
|
||||
"status": 200,
|
||||
"ok": true,
|
||||
"head": "(()=>{\n 'use strict';\n if(window.CateriumDataV1771)return;\n\n const VERSION='1"
|
||||
}
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"type": "response",
|
||||
"url": "http://127.0.0.1:4173/core/performance.js?v=20260909-v17-7-1-data-layer-adoption",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"type": "response",
|
||||
"url": "http://127.0.0.1:4173/core/data-layer-v1771.js?v=20260909-v17-7-1-data-layer-adoption",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"type": "response",
|
||||
"url": "http://127.0.0.1:4173/core/server-automation-v1770.js?v=20260909-v17-7-1-data-layer-adoption",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"type": "response",
|
||||
"url": "http://127.0.0.1:4173/core/data-layer-v1771.js",
|
||||
"status": 200
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,22 +0,0 @@
|
||||
import { chromium } from 'playwright';
|
||||
const browser=await chromium.launch({headless:true});
|
||||
const page=await browser.newPage();
|
||||
const events=[];
|
||||
page.on('console',m=>events.push({type:'console',level:m.type(),text:m.text()}));
|
||||
page.on('pageerror',e=>events.push({type:'pageerror',text:String(e)}));
|
||||
page.on('requestfailed',r=>events.push({type:'requestfailed',url:r.url(),failure:r.failure()}));
|
||||
page.on('response',r=>{if(/performance|data-layer-v1771|server-automation/.test(r.url()))events.push({type:'response',url:r.url(),status:r.status()})});
|
||||
await page.goto('http://127.0.0.1:4173/index.html',{waitUntil:'domcontentloaded'});
|
||||
await page.waitForTimeout(1500);
|
||||
const state=await page.evaluate(async()=>({
|
||||
readyState:document.readyState,
|
||||
performanceLoaded:Boolean(window.SunPerformance),
|
||||
data1771:Boolean(window.CateriumDataV1771),
|
||||
data1770:Boolean(window.CateriumDataV1770),
|
||||
dataCurrent:Boolean(window.CateriumData),
|
||||
perfScript:document.querySelector('script[src*="core/performance.js"]')?.src||null,
|
||||
dataScript:document.getElementById('cateriumDataV1771Script')?.src||null,
|
||||
dataFetch:await fetch('core/data-layer-v1771.js').then(async r=>({status:r.status,ok:r.ok,head:(await r.text()).slice(0,80)})).catch(e=>({error:String(e)}))
|
||||
}));
|
||||
console.log(JSON.stringify({state,events},null,2));
|
||||
await browser.close();
|
||||
@ -1,77 +0,0 @@
|
||||
|
||||
> caterium-app@17.7.1 test:e2e
|
||||
> playwright test --config=tests/playwright.config.mjs
|
||||
|
||||
|
||||
Running 42 tests using 1 worker
|
||||
[WebServer] (node:2722) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
|
||||
[WebServer] (Use `node --trace-deprecation ...` to show where the warning was created)
|
||||
·········°········F·F··········°·······F·F
|
||||
|
||||
1) [desktop] › tests/app.spec.mjs:262:1 › v17.7.1 data layer can update orders without direct UI globals
|
||||
|
||||
TimeoutError: page.waitForFunction: Timeout 5000ms exceeded.
|
||||
|
||||
262 | test('v17.7.1 data layer can update orders without direct UI globals', async ({ page }) => {
|
||||
263 | await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
||||
> 264 | await page.waitForFunction(()=>Boolean(window.CateriumDataV1771),null,{timeout:5000});
|
||||
| ^
|
||||
265 | const result=await page.evaluate(()=>{const d=window.CateriumDataV1771;d.orders.replace([{id:77,status:'Новый',total:1000}],{persistLocal:false,reason:'e2e-seed'});const before=d.orders.get(77);d.orders.update(77,o=>({...o,status:'Тест'}),{persistLocal:false});return {before:before.status,after:d.orders.get(77).status,version:d.VERSION,alias:window.CateriumDataV1770===d}});
|
||||
266 | expect(result).toEqual({before:'Новый',after:'Тест',version:'17.7.1',alias:true});
|
||||
267 | });
|
||||
at /home/runner/work/caterium-app/caterium-app/tests/app.spec.mjs:264:14
|
||||
|
||||
Error Context: test-results/app-v17-7-1-data-layer-can-f5318-s-without-direct-UI-globals-desktop/error-context.md
|
||||
|
||||
2) [desktop] › tests/app.spec.mjs:278:1 › v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias
|
||||
|
||||
TimeoutError: page.waitForFunction: Timeout 5000ms exceeded.
|
||||
|
||||
278 | test('v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias', async ({ page }) => {
|
||||
279 | await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
||||
> 280 | await page.waitForFunction(()=>Boolean(window.CateriumDataV1771),null,{timeout:5000});
|
||||
| ^
|
||||
281 | const result=await page.evaluate(()=>{
|
||||
282 | const d=window.CateriumDataV1771,beforeOrders=d.orders.list(),beforeCatalog=d.catalog.list();
|
||||
283 | d.orders.replace([...beforeOrders,{id:'qa-v1771',event:'QA',lines:[]}],{persistLocal:false,reason:'qa-order'});
|
||||
at /home/runner/work/caterium-app/caterium-app/tests/app.spec.mjs:280:14
|
||||
|
||||
Error Context: test-results/app-v17-7-1-data-layer-ser-350cb-v17-7-0-compatibility-alias-desktop/error-context.md
|
||||
|
||||
3) [mobile-390] › tests/app.spec.mjs:262:1 › v17.7.1 data layer can update orders without direct UI globals
|
||||
|
||||
TimeoutError: page.waitForFunction: Timeout 5000ms exceeded.
|
||||
|
||||
262 | test('v17.7.1 data layer can update orders without direct UI globals', async ({ page }) => {
|
||||
263 | await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
||||
> 264 | await page.waitForFunction(()=>Boolean(window.CateriumDataV1771),null,{timeout:5000});
|
||||
| ^
|
||||
265 | const result=await page.evaluate(()=>{const d=window.CateriumDataV1771;d.orders.replace([{id:77,status:'Новый',total:1000}],{persistLocal:false,reason:'e2e-seed'});const before=d.orders.get(77);d.orders.update(77,o=>({...o,status:'Тест'}),{persistLocal:false});return {before:before.status,after:d.orders.get(77).status,version:d.VERSION,alias:window.CateriumDataV1770===d}});
|
||||
266 | expect(result).toEqual({before:'Новый',after:'Тест',version:'17.7.1',alias:true});
|
||||
267 | });
|
||||
at /home/runner/work/caterium-app/caterium-app/tests/app.spec.mjs:264:14
|
||||
|
||||
Error Context: test-results/app-v17-7-1-data-layer-can-f5318-s-without-direct-UI-globals-mobile-390/error-context.md
|
||||
|
||||
4) [mobile-390] › tests/app.spec.mjs:278:1 › v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias
|
||||
|
||||
TimeoutError: page.waitForFunction: Timeout 5000ms exceeded.
|
||||
|
||||
278 | test('v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias', async ({ page }) => {
|
||||
279 | await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
||||
> 280 | await page.waitForFunction(()=>Boolean(window.CateriumDataV1771),null,{timeout:5000});
|
||||
| ^
|
||||
281 | const result=await page.evaluate(()=>{
|
||||
282 | const d=window.CateriumDataV1771,beforeOrders=d.orders.list(),beforeCatalog=d.catalog.list();
|
||||
283 | d.orders.replace([...beforeOrders,{id:'qa-v1771',event:'QA',lines:[]}],{persistLocal:false,reason:'qa-order'});
|
||||
at /home/runner/work/caterium-app/caterium-app/tests/app.spec.mjs:280:14
|
||||
|
||||
Error Context: test-results/app-v17-7-1-data-layer-ser-350cb-v17-7-0-compatibility-alias-mobile-390/error-context.md
|
||||
|
||||
4 failed
|
||||
[desktop] › tests/app.spec.mjs:262:1 › v17.7.1 data layer can update orders without direct UI globals
|
||||
[desktop] › tests/app.spec.mjs:278:1 › v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias
|
||||
[mobile-390] › tests/app.spec.mjs:262:1 › v17.7.1 data layer can update orders without direct UI globals
|
||||
[mobile-390] › tests/app.spec.mjs:278:1 › v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias
|
||||
2 skipped
|
||||
36 passed (43.7s)
|
||||
Loading…
Reference in New Issue
Block a user