How to Disable JavaScript in Playwright Tests

Better Stack Team
Updated on February 27, 2024

To understand how your webpages perform without JavaScript, it's essential to conduct tests under conditions where JavaScript is intentionally disabled.

This approach can reveal how your site appears to users with JavaScript turned off, such as those using screen readers, browsers with strict security settings, or experiencing slow internet connections.

Testing without JavaScript can help ensure your website is accessible and provides a baseline level of functionality for all users, highlighting areas where progressive enhancement techniques can be applied to improve the user experience without relying solely on JavaScript.

Since JavaScript is enabled by default in all browsers, you ought to disable it before running such tests. Here's how to do it:

 
import { test, expect } from '@playwright/test';

test.describe('disabling javascript', () => {
test.use({ javaScriptEnabled: false });
test('...', async ({ page }) => { // JavaScript will be disabled in this test }); });

You can also disable JavaScript for the entire test suite in your playwright.config.js file as follows:

playwright.config.js
import { defineConfig } from '@playwright/test';

export default defineConfig({
  use: {
    javaScriptEnabled: false,
  },
});

Thanks for reading, and happy coding!

🔭 Want to automate and scale your Playwright end-to-end tests?

Head over to Better Stack and start monitoring in 5 minutes.