1.3.0
Backward-compatible feature release.
π Features
- CI-ready exit code β
bin/prestaflow runnow returns a non-zero exit code when any test fails, so CI can finally detect failures (previously it always exited0). - JUnit XML report β new
--junit[=path]flag (defaultprestaflow/junit.xml), consumable by GitHub Actions, GitLab and Jenkins. Failed tests reference their screenshot in the<failure>message and a<system-out>[[ATTACHMENT|β¦]]node. - BackOffice coverage (experimental) β menu-based admin navigation (
goToSubMenu) and page objects for Products, Orders, Categories, Customers, Modules and Carriers, plus list / create / delete actions on the Products page, with demonstrator suites. - Browser-free test harness β new
composer test-unit(PHPUnit) with 32 unit tests covering exit codes, JUnit serialisation, screenshots, page factorization and BackOffice page resolution. - Add
store/retrievehelpers toTestsSuiteto pass values between steps. - Add i18n support to
Expectmessages. - Add
console/logmethods to emit debug information from a test suite.
π‘ Improvements
- Page factorization β v7/v8/v9 pages factored into a shared
src/Pages/Common/tree with thin per-version stubs, so a change is made once instead of three times (importPage()andcomposer.jsonunchanged). - Bundled dependency β vendored
nunzion/php-expectintolib/php-expect/(MIT); the upstream Bitbucket dependency was no longer reliably installable. - Configurable screenshot delay via
PRESTAFLOW_SCREENSHOT_DELAY(default 3 seconds,0disables it). - Show an "Open screenshot" link when the terminal supports file URLs (iTerm.app, VS Code).
- Product price with a currency string is converted to a numeric value.
- Allow a
.env.localfile to override values in a development project.
π Bug fixes
- Screenshot on failure is no longer silently lost in standalone mode β the errors directory is created before saving, and the broken terminal link path is fixed.
- Screenshot capture failures are surfaced as a debug line instead of being swallowed.
- Various bug fixes.
β οΈ Experimental /@unverified: the BackOffice#subtab-Admin*menu and product-form selectors are best-effort PrestaShop 9 conventions not yet validated against a live shop (they differ on 1.7 / 8). The browser suites will need their selectors corrected against a real shop before they pass. These page classes are additive and have no impact on existing functionality.