相当基本的测试,但正在返回
× 受邀贡献者成为公司所有者 - 失败:owner.$(...).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'));
});
最佳答案
这只是一个括号放错位置的问题。您实际上是在尝试对 isDiplayed()
返回的值调用 toBe()
,而不是对 expect()
返回的对象调用。因此,通过将最后一个括号向后移动一点,这应该按预期工作(双关语):
expect(owner.$('i[title="Site Owner"]').isDisplayed()).toBe('true');
关于javascript - Protractor 与期望找到元素有关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42893453/