Protractor is an end-to-end test framework developed for Angular and AngularJS applications. It run tests against the application interacting with it as a real user would, running in a real browser. In this article, we are going to create a basic test.
Pre-requisite: Installation and Setup of Protractor
Approach:
- We are going to create a basic test program in which we are going to check whether the title of the Angular web app is correct or not.
- All the Protractor tests will have a file which 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. // Here we are specifying the browser // to be chrome capabilities: { 'browserName' : 'chrome' }, // Framework to use. Jasmine is // being used here. framework: 'jasmine' , // The test file which are relative // to the current working directory // when protractor is called. specs: [ 'test.js' ], // Options to be passed to Jasmine. jasmineNodeOpts: { defaultTimeoutInterval: 30000 } }; |
- Now let’s create our test file test.js. In this file, we are going to access an AngularJS web app and then check if the title is correct or not.
- 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 title' , function () { // Open the AngularJS webpage browser.get( // Check if the title is 'Super // Calculator' or not. expect(browser.getTitle()) .toEqual( 'Super Calculator' ); }); }); |
- 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: