I am in the process of learning protractor using paject object. Here is my Page object file and my test spec. files:
Page Object (file name PO_Login.js)
var ptor;
var LoginPage = function ()
{
ptor = protractor.getInstance();
this.login = function()
{
console.log("here");
var user=ptor.findElement(protractor.By.id("username"));
user.sendKeys('admin');
var pwd=ptor.findElement(protractor.By.id('password'));
pwd.sendKeys('admin');
}
}
module.exports = new LoginPage();
My Test spec file:
var ptor;
describe(
'homepage',
function()
{
var LoginPage = require('./LoginPO.js');
beforeEach(
function()
{
ptor = protractor.getInstance();
var driver=ptor.driver;
ptor.driver.get('http://localhost/xxxxxxxxxx/login');
ptor.waitForAngular();
}
);
it(
'xxxx',
function()
{
ptor = protractor.getInstance();
ptor.driver.findElement(protractor.By.tagName('html'))
.getAttribute('ng-app').then(function(text)
{
expect(text).toBe('xxxxxxx.sso')
}
);
ptor.driver.findElement(
protractor.By.tagName('body')).getAttribute('id')
.then(function(text)
{
expect(text).toBe('cas')
}
);
},
10000
);
it(
'login',
function()
{
console.log("here...");
LoginPage.login;
// var ctrlpoints_url=ptor.getCurrentUrl();
// expect(ctrlpoints_url).toContain('http://localhost/xxxxxxxxxxxxxxx/#/dashboard/points');
// expect(loginPage.header.getText()).toEqual('xxxxxx');
}
);
}
);
I am not sure what is wrong - the login method defined in Page object is not getting called. I used console.log() to debugg the script.