L'écran et l'API comptent les mêmes produits, et l'écran est scellé
Le nombre de produits du modèle de démonstration EPM est compté deux fois sur le même système : par le bouton « Number of Entries » de SE16 dans SAP GUI, et par le $count du service OData qui projette la même table. Les deux doivent être égaux ; un écart trahirait un service qui filtre, une donnée fantôme ou un mandant croisé. L'écran de sélection qui a servi au compte est ensuite comparé à une capture de référence par empreinte perceptuelle (Screen Should Match Baseline), zones volatiles masquées : le canal pixels voit ce que ni l'API ni le scripting ne voient.
Preuve : Suite « croisement API et écran scellé par une assertion visuelle » : 3/3 sur A4H (release 754), validée le 17/07/2026 et rejouée le 05/10/2026 : « Produits EPM : 205 via OData == 205 via SE16 ».
Product Count Agrees Across API And GUI Channels # … ${gui_count}= Count Table Entries ${EPM_PRODUCTS_TABLE} Should Be True ${gui_count} > 0 ... msg=Table ${EPM_PRODUCTS_TABLE} vide : données EPM absentes sur ce système ? ${api_count}= Get Odata Count ${EPM_PRODUCTS_PATH} alias=a4h Should Be Equal As Integers ${api_count} ${gui_count} ... msg=OData $count (${api_count}) ≠ SE16 ${EPM_PRODUCTS_TABLE} (${gui_count}). Log Produits EPM : ${api_count} via OData == ${gui_count} via SE16. # … SE16 Product Screen Matches Its Visual Baseline # … Open Table In SE16 ${EPM_PRODUCTS_TABLE} Log Screenshot Écran de sélection SE16 de ${EPM_PRODUCTS_TABLE} (source du compte GUI) Screen Should Match Baseline ${VISUAL_BASELINE_NAME} ... threshold=${VISUAL_THRESHOLD} baseline_directory=${VISUAL_BASELINE_DIR} ... mask_elements=auto per_resolution=${True}

















