Repository navigation
🇫🇷 Le même produit SAP lu par trois canaux, et une revue indépendante qui a trouvé, sur une suite verte, trois gardes qui ne gardaient rien.
What's new
One product, three channels, one price. A new campaign reads the same EPM product through the OData service, through SE16 in the WebGUI and through RFC_READ_TABLE, then compares the three prices with each other rather than each against an expected value: two channels reading the same stale copy would pass the second kind of test and fail the first. Live 7/7 on both bench releases. The user's decimal notation is read on the system, so 3,25 on screen and 3.25 on both protocols are recognised as one value, and a notation round trip asserts the notation itself.
Proving which system answered, channel by channel. When two systems share their system id and their host name, a target guard on one channel lets an incomplete variable override compare two systems and stay green. Each channel now proves its own target before anything is read: the release through RFC, the Gateway catalogue size through the API, the address actually reached through the WebGUI. Both new guards were seen refusing, in the suite setup, so no scenario reads.
Get Webgui Selection Criteria. The {FIELD: SID} map of a SE16 selection screen rendered as HTML, derived from the page rather than declared: those criteria are positional and their type prefix varies field by field, so a locator written by hand fills a different criterion in silence and the grid returns perfectly legible rows that are not the ones you asked for. A label belongs to the first field to its right, whatever its kind.
A table reading now says what it could not read. The five-format extraction reaches the RFC channel, the one that declares no total at all, so its count comes from a different module than the one that reads. 28,782 rows written and read back, confronted row by row.
Also: the smallest suite in the repo proves completeness rather than counting rows; the Windows pack ships the three-channel campaign and its plan (twelve sample suites); and the README leads with the cross-channel and hybrid campaigns.
Proof numbers: 2560 unit tests, 94 % coverage (85 % enforced in CI), 321 scenarios validated live against real SAP systems (380 counting the two non-SAP real targets), aggregated campaign by campaign and declared one by one with its target and date.
Attachment. sapfx-pack-0.8.2-win.zip is the self-contained Windows pack: both wheels, the business resources, both recorders, the rf-mcp plugins with the sapfx-mcp launcher, twelve sample suites, the test agents and an installer that builds a local venv. It was tested before publication on a fresh extraction outside the repository: hashes against the sidecar and SHA256SUMS.txt, installer through cmd.exe, 93/93 on the dry run of the shipped suites, MCP launcher up. The libraries alone install with pip install robotframework-sapfx.