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
onPrepare:
function
() {
}
};
- 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! - Now let’s create our HTML file called test.html which will contain the element to be tested.