Thursday, September 4, 2025
HomeLanguagesJavascriptHow to test the id of an element using Protractor ?

How to test the id of an element using Protractor ?

Protractor is an end-to-end test framework developed for Angular and AngularJS applications. It runs tests against the application interacting with it as a real user would, running in a real browser. In this article, we are going to test the id of an element.

Pre-requisite: Installation and Setup of Protractor

Approach:

  • We are going to create a basic test program in which we are going to test the id of an element.
  • All the Protractor tests will have a file that will contain the configuration and this will be the initial file that will initiate the test.
  • Let’s create this file with the name conf.js.

    conf.js:

    Javascript




    exports.config = {
      
        // Capabilities to be passed to the
        // webdriver instance
        capabilities: {
            'browserName': 'chrome'
        },
      
        // Framework to use. Jasmine is recommended
        framework: 'jasmine',
      
        // Spec patterns are relative 
        // to the current working directory when
        // protractor is called.
        specs: ['test.js'],
      
        // Options to be passed to Jasmine
        jasmineNodeOpts: {
            defaultTimeoutInterval: 30000
        },
      
        // Url for the file
        baseUrl: 'file://' + __dirname + '/',
      
        onPrepare: function () {
            browser.resetUrl = 'file://';
        }
    };

    
    
    • Now let’s create our HTML file called test.html which will contain the element to be tested.

      HTML




      <!DOCTYPE html>
      <html lang="en">
        
      <head>
          <meta charset="UTF-8">
          <meta name="viewport" content=
          "width=device-width, initial-scale=1.0">
        
          <title>Testing</title>
      </head>
        
      <body>
          <!-- The element to be tested -->
          <section class="sample-element" 
              id="neveropen">
              Inner text
          </section>
      </body>
        
      </html>

      
      
    • Now let’s create our test file test.js. In this file, we are going to access an HTML file and test the id of an element.
    • Browser is a global created by Protractor, which is used for browser-level commands such as navigation with browser.get.
    • The describe and it syntax is from the Jasmine framework where describe is a description of your test while it is the steps for the test.

    The spec file named test.js:

    Javascript




    describe('Protractor Demo App', function () {
        it('should have a id', function () {
      
            // Disabling waiting for angular
            browser.waitForAngularEnabled(false)
      
            // Get our html file for testing
            browser.get('test.html');
      
            // Test if the element with class 
            // 'sample-element' has the id 
            // 'neveropen'
            let sampleDiv = element(
                by.className('sample-element'));
      
            expect(sampleDiv.getAttribute('id'))
                .toEqual('neveropen');
        });
    });

    
    
    • Finally, we are ready to run our file using the command given below:
      protractor conf.js
    • This will run the configuration file and the test will be run as shown in the screenshot below:

    Output:

    Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
RELATED ARTICLES

Most Popular

Dominic
32264 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6632 POSTS0 COMMENTS
Nicole Veronica
11800 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11859 POSTS0 COMMENTS
Shaida Kate Naidoo
6749 POSTS0 COMMENTS
Ted Musemwa
7025 POSTS0 COMMENTS
Thapelo Manthata
6698 POSTS0 COMMENTS
Umr Jansen
6718 POSTS0 COMMENTS