无法在 Jasmine 测试用例中使用 selenium webdriver 获取元素的文本

Unable to get the text of an element usng selenium web driver in Jasmine test cases

我需要使用 selenium 网络驱动程序获取元素的文本值,如下所示。

this.driver.findElement(selenium.By.id('floor-name')).then(function(element){
        expect(element.getText()).toMatch("Floor 1");       
})

我正在使用以下版本的库

node v6.2.1
selenium-webdriver 2.53.2
jasmine v2.4.1
jasmine-core v2.4.

1

这是我在 运行 测试

时遇到的错误
Message:
    Expected ManagedPromise::370 {[[PromiseStatus]]: "pending"} to match 'Floor 1'.
  Stack:
    Error: Expected ManagedPromise::370 {[[PromiseStatus]]: "pending"} to match 'Floor 1'.
        at /home/tharsan/tmp/selenium/spec/cleanViewSpec.js:46:27
        at ManagedPromise.invokeCallback_ (/home/tharsan/tmp/selenium/node_modules/selenium-webdriver/lib/promise.js:1379:14)
        at TaskQueue.execute_ (/home/tharsan/tmp/selenium/node_modules/selenium-webdriver/lib/promise.js:2913:14)
        at TaskQueue.executeNext_ (/home/tharsan/tmp/selenium/node_modules/selenium-webdriver/lib/promise.js:2896:21)

你要把这里的元素传递到哪里?您必须解决 getText 承诺。试试这个:

 this.driver.findElement(selenium.By.id('floor-name')).getText().then(function(text){
    expect(text).toMatch("Floor 1");       
});