无法从pageObject传递值,请返回规范以验证该值是否符合预期的assert语句。
pageObject.js
this.CampaignTitle = function() {
element.all(by.repeater('campaign in campaigns')).then(function(campaigns) {
var title = campaigns[0].element(by.className('campaign-title'));
title.click();
return title;
});
}
spec.js
it('Clicking on campaign title should take to campaign report', function() {
dashboardPage.CampaignTitle();
expect(dashboardPage.CampaignTitle().getText()).toContain(browser.params.campaignTitle);
});
我得到的错误是
1)测试广告系列仪表板按钮单击广告系列标题应进入广告系列报告
-失败:无法读取未定义的属性'getText'
或者如果我将标题添加到
expect(dashboardPage.CampaignTitle(title).getText()).toContain(browser.params.campaignTitle);
我懂了
1)测试广告系列仪表板按钮单击广告系列标题应进入广告系列报告
-失败:标题未定义
最佳答案
不要使用括号表示法从ElementArrayFinder检索元素,请使用.get()。另外,我将实现这一点有些不同,您可以不使用.then()
来执行此操作;
this.CampaignTitle = function() {
var title = element.all(by.repeater('campaign in campaigns')).get(0).element(by.className('campaign-title'));
return title;
}
spec.js
dashboardPage.CampaignTitle().click();
expect(dashboardPage.CampaignTitle().getText()).toContain(browser.params.campaignTitle);