12 lines
1.7 KiB
Python
12 lines
1.7 KiB
Python
from pathlib import Path
|
|
ROOT=Path(__file__).resolve().parent.parent
|
|
prefix=(ROOT/'tools/portal-stability-consumers-chromium.cjs').read_text(encoding='utf-8').split('try{\nif(remaining)')[0]
|
|
prefix=prefix.replace('portal-stability-consumers-chromium.json','portal-stability-ui-inspection.json')
|
|
body=r'''try{
|
|
const cases=[['promoter','/minhas-oportunidades/53/resources'],['promoter','/balcao-virtual/painel'],['promoter','/balcao-virtual/dossiers/d8ac9133-65b6-4ed4-964e-e230bc656a02'],['public','/perfil/promotor']];
|
|
for(const [name,url] of cases){await actor(name);await open(url);proof.checks.push({role:name,route:url,labels:await page.locator('label').allTextContents(),buttons:await page.getByRole('button').allTextContents(),details:await page.locator('summary').allTextContents(),selects:await page.locator('select').evaluateAll(els=>els.map(e=>({id:e.id,options:[...e.options].map(o=>({label:o.label,value:o.value}))})))});save();}
|
|
if(ctx)await ctx.close();ctx=await browser.newContext({ignoreHTTPSErrors:false});await ctx.addInitScript(()=>Object.defineProperty(Crypto.prototype,'randomUUID',{value:undefined,configurable:true}));page=await ctx.newPage();await open('/simulador-fiscal');proof.checks.push({role:'anonymous',route:'/simulador-fiscal',labels:await page.locator('label').allTextContents(),buttons:await page.getByRole('button').allTextContents()});proof.result='inspected';save();console.log(JSON.stringify({result:proof.result,checks:proof.checks.length}));
|
|
}catch(e){proof.result='failed';proof.failure=redact(e);save();console.log(JSON.stringify({result:'failed',failure:proof.failure}));process.exitCode=1;}finally{if(ctx)await ctx.close();await browser.close();}})();
|
|
'''
|
|
(ROOT/'tools/portal-stability-inspect-ui.cjs').write_text(prefix+body,encoding='utf-8')
|