量角器问题,期望找到元素

时间:2017-03-19 23:08:20

标签: javascript angularjs protractor

相当基本的测试,但正在返回

×邀请的贡献者成为公司所有者        - 失败:所有者。$(...)。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'));

    }); 

1 个答案:

答案 0 :(得分:1)

这只是一个错位括号的问题。您实际上是尝试对toBe()返回的值而不是isDiplayed()返回的对象调用expect()。因此,通过向后移动最后一个括号,这应该按预期工作(双关语)

expect(owner.$('i[title="Site Owner"]').isDisplayed()).toBe('true');