【问题标题】:protractor .text() or .html() is not defined?量角器 .text() 或 .html() 未定义?
【发布时间】:2015-10-30 05:51:32
【问题描述】:

我是 protractor (With Coffeescript) 的新手,当我运行以下测试用例时,我收到此错误。

    it 'Check if the visitor count is incremented', ->
        expect(By.css('#total-visitor-value').text().length).toBeTruthy()

我收到此错误:

✗ Check if the visitor count is incremented (0.016 secs)
  - TypeError: Object By.cssSelector("#total-visitor-value") has no method 'text'

我不确定我做错了什么?谁能解释一下?

【问题讨论】:

    标签: jquery coffeescript jasmine protractor


    【解决方案1】:

    我相信使用的方法是getText() 而不是text()

    试试这个: expect(by.css('#total-visitor-value').getText().length).toBeTruthy()

    【讨论】:

    • 感谢您的回复@Buck Kimbriel,我仍然遇到同样的错误:- TypeError: Object By.cssSelector("#total-visitor-value") has no method 'getText'
    • 我的猜测是量角器没有找到那个元素。尝试记录by.css('#total-visitor-value') 的返回?
    【解决方案2】:

    您忘记引用该元素。此外,您的 CSS 查找正在通过其 ID 值查找元素,因此请改用 by.id。 .getText() 调用返回一个promise,你也必须考虑它的解析。你的测试应该是这样的:

    expect(element(by.id('total-visitor-value')).getText().length).toBeTruthy();
    

    这里是量角器定位器的参考:http://angular.github.io/protractor/#/locators

    如果你愿意,你仍然可以使用 by.css 来引用它(你的引用是正确的)但是 by.id 更精确。

    【讨论】:

    • 量角器中的 expect() 已“修补”并隐式解析承诺。在这种情况下不需要then()..但是,很好地了解丢失的element()
    • 我已经尝试过您的建议,但仍然失败。这就是我得到的`-TypeError: Object By.cssSelector("#total-visitor-value") has no method 'getText'`
    • 很高兴知道 expect() 正在修补。我必须在旧版本上。谢谢@alecxe。
    • @TechnoCorner 你仍然缺少 element() 。这就是 getText() 方法。
    • 我不确定量角器中的“expect() 是否已“修补”并隐式解决承诺。”通常是这样,但我发现并非总是如此。
    【解决方案3】:

    首先,是的,你要找的方法是getText()。另外,我不会检查文本的.length,而是使用来自jasmine-matcherstoBeNonEmptyString() jasmine 匹配器:

    expect(element(by.css('#total-visitor-value')).getText()).toBeNonEmptyString();
    

    注意可读性。

    【讨论】:

    • - TypeError: Object # has no method 'toBeNonEmptyString' 。这就是我得到的
    • @TechnoCorner 已将require("jasmine-expect"); 添加到onPrepare()
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    相关资源
    最近更新 更多