我正在使用paject对象学习量角器。这是我的Page对象文件和我的测试规范。文件:
页面对象(文件名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();
我的测试规范文件:
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');
}
);
}
);
我不确定是什么问题 - 在Page对象中定义的登录方法没有被调用。我使用console.log()来调试脚本。
答案 0 :(得分:1)
您未调用login
函数。替换:
LoginPage.login;
使用:
LoginPage.login();
除此之外,请使用ptor
,protractor
和browser
,而不是使用element
或by
全局定义的对象,请参阅示例{{3} - 至少会使你的代码更清晰。