0

I am using this sample to get my head around pageobjects:

https://github.com/angular/protractor/blob/master/docs/page-objects.md

Trying to do some refactoring by using a seperate js file for the angularHomepage(pageobject) code:

var AngularHomepage = function() {
    this.nameInput = element(by.model('yourName'));
    this.greeting = element(by.binding('yourName'));

    this.get = function() {
        browser.get('http://www.angularjs.org');
    };

    this.setName = function(name) {
        this.nameInput.sendKeys(name);
    };
};

the specfile looks like this now:

var angularHomepage = require('/angularjs_homepage.js');

describe('angularjs homepage', function() {

    it('should greet the named user', function() {

        angularHomepage.get();

        angularHomepage.setName('Julie');

        expect(angularHomepage.greeting.getText()).toEqual('Hello Julie!');
    });
});

When I run the spec I am getting an error? :

Message:
       Error: Cannot find module '/angularjs_homepage.js'
       Stacktrace:
       Error: Cannot find module '/angularjs_homepage.js'
       at require (module.js:380:17)
       at Object.<anonymous> (c:\ptor_testing\example_spec.js:1:85)
Pindakaas
  • 4,389
  • 16
  • 48
  • 83

1 Answers1

1

it needed an extra line in the pageobjects file:

module.exports = new AngularHomepage();
Pindakaas
  • 4,389
  • 16
  • 48
  • 83