Preparando MariaDB desechable y servicios en puertos libres… SO MCP: await page.getByRole('button',{name:'Entrar',exact:true}).waitFor(); SO MCP: await page.locator('[data-slot=workspace]').waitFor({timeout:30000}); SO MCP: await page.getByText('Todavía no hay sistemas operativos globales.',{exact:false}).waitFor SO MCP: await page.getByRole('button',{name:'Nuevo sistema operativo global',exact:true}).click(); SO MCP: if(!await page.getByRole('button',{name:'Guardar',exact:true}).isDisabled())throw Error('R SO MCP: await page.getByRole('button',{name:'Guardar',exact:true}).click(); await page.getByRole(' SO MCP: return page.url(); SO MCP: await page.getByRole('button',{name:'Editar sistema operativo global',exact:true}).click() SO MCP: await page.getByRole('button',{name:'Cancelar',exact:true}).click(); await page.getByRole( SO MCP: await page.getByRole('link',{name:'Windows 11 Pro',exact:true}).waitFor(); await page.getB SO MCP: await page.getByRole('textbox',{name:'Buscar por nombre o proveedor',exact:true}).fill('') SO MCP: await page.evaluate(theme=>{document.documentElement.classList.toggle('dark',theme==='dark SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: await page.evaluate(theme=>{document.documentElement.classList.toggle('dark',theme==='dark SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: if(await page.evaluate(()=>document.documentElement.scrollWidth>innerWidth+1))throw Error( SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: await page.getByRole('button',{name:'Nuevo sistema operativo global',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: page.osPattern='**/api/resource-global-operating-systems?*'; await page.route(page.osPatte SO MCP: await page.unroute(page.osPattern); await page.getByRole('button',{name:'Reintentar',exact SO MCP: const releases=[], pending=[]; const pattern='**/api/resource SO MCP: await page.getByRole('button',{name:'Nuevo sistema operativo global',exact:true}).click(); SO MCP: await page.getByRole('button',{name:'Editar sistema operativo global',exact:true}).click() SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.getByRole('button',{name:'Entrar',exact:true}).waitFor(); SO MCP: await page.locator('[data-slot=workspace]').waitFor({timeout:30000}); SO MCP: await page.getByRole('heading',{name:'Windows 11 Pro',exact:true}).waitFor(); await page.g SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-current-operating-systems]').locator('xpath=ancestor::section[1] SO MCP: const row=page.getByRole('row').filter({has:page.locator('a[href="/catalogs/global-operati SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-current-operating-systems]').locator('xpath=ancestor::section[1] SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: await page.locator('[data-workplace-equipment=principal] a').click(); await page.getByRole SO MCP: await page.getByRole('button',{name:'Añadir instalación',exact:true}).click(); await page. SO MCP: await page.keyboard.press('Escape'); await page.keyboard.press('Escape'); SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.locator('[data-current-operating-systems]').getByRole('link',{name:'Windows 11 SO MCP: await page.locator('[data-workplace-software] a[href="/catalogs/global-operating-systems/0 SO MCP: page.osNode=page.locator('[data-workplace-software]').filter({has:page.locator('a[href="/c SO MCP: return await page.evaluate(selector=>{ const canvas=document.createElement('canv SO MCP: return await page.evaluate(()=>{const style=getComputedStyle(document.activeElement);retur SO MCP: await page.getByRole('menuitem',{name:'Historial de la instalación',exact:true}).click(); SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO MCP: await page.osNode.locator('[data-workplace-node-menu]').click(); await page.getByRole('men SO MCP: await page.locator('[data-current-operating-systems]').getByText('Versión 25H2',{exact:tru SO MCP: await page.getByLabel('Menú de usuario',{exact:true}).click(); await page.getByRole('combo SO MCP: await page.keyboard.press('Escape'); await page.getByRole('dialog').waitFor({state:'hidden SO global: recorrido MCP verificado. Evidencias: .artifacts/playwright/authenticated-6u28upls Entorno temporal retirado; las capturas se conservan sin sesión ni credenciales.