diff --git a/test/web/puppeteer.mjs b/test/web/puppeteer.mjs
index 3a97701227cf828e93e73402ef53d47c187e4c83..631cf9720aabd9cda51172b7cc5646a7d39cdc9f 100644
--- a/test/web/puppeteer.mjs
+++ b/test/web/puppeteer.mjs
@@ -79,13 +79,16 @@ if (!config.browser) {
     console.log('Tests failed:', failures);
     console.log('Duration:', duration);
     
-    if (error.length > 0) {
+    await page.screenshot({ path: 'screenshot.png' });
+    await browser.close();
+
+    if (error.length > 0 || failures > 0) {
         console.error('Tests failed: ', error);
+        process.exit(1);
     } else {
         console.log('Tests passed');
     }
 
-    await page.screenshot({ path: 'screenshot.png' });
 
-    await browser.close();
+
 })();
\ No newline at end of file