pbi_validate_desktop_render
Checks Power BI report rendering by opening a .pbip/.pbix project, optionally refreshing it, and capturing the actual desktop window to confirm data_loaded is true.
Instructions
Abre un .pbip/.pbix y captura su ventana real sin depender del foco.
Es la comprobacion visual automatizable que complementa al validador
PBIR: espera el modelo, identifica la ventana por PID y hora de inicio,
y la renderiza con PrintWindow directamente a outputs/desktop_captures.
La captura no activa ni trae Desktop al frente, por lo que no puede
fotografiar por accidente otra ventana que tape el informe.
path (o pbip_path, el mismo nombre que devuelve pbi_session_info)
se puede omitir: entonces se usa el proyecto .pbip activo.
refresh=true es lo que hace que la captura signifique algo en un
.pbip: ese formato guarda la definicion, no los datos, asi que recien
abierto el modelo viene VACIO y las tablas y matrices salen en blanco
aunque el informe este perfecto. Con refresh se abre, se refresca, se
espera a que la ventana deje de repintar y se captura. Ese es tambien
el camino para fotografiar OTRA pagina con datos: page exige abrir el
proyecto, y al abrirlo hay que volver a refrescar.
Pase lo que pase, la respuesta lleva data_loaded: si es false, la
captura no es representativa del informe, es la foto de un modelo sin
datos. Si no se pudo comprobar, se dice; no se afirma ninguna de las dos.
page (solo .pbip): captura ESA pagina (id o nombre visible), no la
que quedo activa. fit_to_page (solo .pbip, activado por defecto):
fuerza la vista "Ajustar a la pagina" para que salga el lienzo COMPLETO
y no el tercio superior al zoom guardado. Ambos ajustan la vista antes
de abrir y la restauran byte a byte al terminar; exigen que el proyecto
no este ya abierto (con sesion reutilizada no se pueden aplicar: page
falla y fit_to_page degrada a un aviso).
Si la tool tuvo que abrir Desktop, lo cierra al terminar (tambien si la captura falla) y devuelve la seleccion de modelo a como estaba. Si el informe ya estaba abierto, reutiliza esa sesion y nunca cierra la ventana del usuario.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| path | No | ||
| refresh | No | ||
| timeout | No | ||
| pbip_path | No | ||
| reuse_open | No | ||
| fit_to_page | No | ||
| capture_timeout | No | ||
| refresh_timeout_seconds | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |