相当基本的测试,但正在返回
×邀请的贡献者成为公司所有者 - 失败:所有者。$(...)。isDisplayed(...)。toBe不是函数
基本上我有一个表格,显示网站的所有者和贡献者,当有人是所有者时,元素在表格的那一行上变得可见。我知道这个函数适用于选择并使该人成为所有者,但是当试图设置期望时它会产生错误。有没有其他方法来检查所有者变量?
it('Invited contributor is made into a company owner', function() {
settingsPage.promoteContributorToOwner();
var owner = element.all(by.repeater('existingOwner in companyOwners')).filter(function(rowElement){
return rowElement.element(by.css('td[ng-bind="existingOwner.Name"]')).getText().then(function(text){
return text.trim() == 'protractor contributor'
});
}).first();
expect(owner.$('i[title="Site Owner"]').isDisplayed().toBe('true'));
});
答案 0 :(得分:1)
这只是一个错位括号的问题。您实际上是尝试对toBe()
返回的值而不是isDiplayed()
返回的对象调用expect()
。因此,通过向后移动最后一个括号,这应该按预期工作(双关语):
expect(owner.$('i[title="Site Owner"]').isDisplayed()).toBe('true');