Waltir
By: Waltir

Blocking Ad Traffic In Nightwatch JS

Cover Image for Blocking Ad Traffic In Nightwatch JS

As online advertising becomes more prevalent, it can have a significant impact on the performance and reliability of automated test scripts. Nightwatch.js is an automated testing framework that supports various testing operations. In this tutorial, we will discuss how to block ad traffic within Nightwatch.js automated test scripts to ensure a more stable testing environment.

Step 1: Install the Ad-Blocker Package

The first step is to install the ad-blocker package. We can use the "nightwatch-block-ads" package, which is an ad-blocker for Nightwatch.js tests. To install the package, run the following command in the terminal:

npm install nightwatch-block-ads

Step 2: Add the Ad-Blocker to the Nightwatch Configuration File

The next step is to add the ad-blocker to the Nightwatch configuration file. Open the configuration file (usually "nightwatch.json" or "nightwatch.conf.js") and add the following code:

"globals": {
  "blockAds": require('nightwatch-block-ads').command,
},

This code defines a global function called "blockAds" that we will use to block ads within our tests.

Step 3: Create a Test That Blocks Ads

Now we can create a test that uses the "blockAds" function to block ads. In this example, we will use Google as an example site to block ads. Here is the code for the test:

module.exports = {
  'Block Ads on Google': function(browser) {
    browser
      .url('https://www.google.com')
      .waitForElementVisible('body', 1000)
      .blockAds()
      .setValue('input[name="q"]', 'test')
      .submitForm('form[name="f"]')
      .waitForElementVisible('#search', 1000)
      .assert.containsText('#search', 'test')
      .end();
  }
};

This test opens Google, blocks ads using the "blockAds" function, performs a search, and checks that the search results contain the word "test".

Step 4: Run the Test

To run the test, open the terminal and navigate to the project directory. Then run the following command:

nightwatch tests/google-ads.js

This command runs the test and blocks ads on Google. If the test passes, it means that ads were successfully blocked, and the test ran without interference from ads.

Blocking ad traffic within Nightwatch.js automated test scripts is an essential step to ensure the reliability and stability of our testing environment. By following the steps outlined in this tutorial, you can easily install and use an ad-blocker in your tests, which can help reduce the risk of false positives and ensure that your tests run smoothly.

More Posts

Cover Image for Blocking Ad Traffic In Nightwatch JS
Blocking Ad Traffic In Nightwatch JS
Waltir
By: Waltir

Example showing how you can block unwanted ad traffic in your Nightwatch JS tests....

Cover Image for Blocking Ad Traffic In Cypress
Blocking Ad Traffic In Cypress
Waltir
By: Waltir

Example showing how you can block unwanted ad traffic in your Cypress tests....

Cover Image for Three Ways To Resize The Browser In Nightwatch
Three Ways To Resize The Browser In Nightwatch
Waltir
By: Waltir

Outlining the three different ways to resize the browser in Nightwatch JS with examples....

Cover Image for Happy Path VS Sad Path Testing
Happy Path VS Sad Path Testing
Waltir
By: Waltir

As a test engineer it is crucial that both happy path and sad path use cases have been considered and fully tested...