【问题标题】:Protractor issue with getting expect to find element期望找到元素的量角器问题
【发布时间】:2017-03-20 07:20:15
【问题描述】:

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

× 受邀贡献者成为公司所有者 - 失败: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'));

    }); 

【问题讨论】:

    标签: javascript angularjs protractor


    【解决方案1】:

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

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

    【讨论】:

    • 太棒了,完美运行。令人惊讶的是另一双眼睛能做什么!
    猜你喜欢
    • 2016-09-05
    • 2015-11-03
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多