量角器返回一个对象但是期望 - element.getText()的值 [英] Protractor return an object but expected - value of element.getText()

查看:103
本文介绍了量角器返回一个对象但是期望 - element.getText()的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无法理解为什么它返回一个对象而不是文本值,一些测试代码:

Unable to understand why it return an object not a value of text, some test code:

describe('columns swap', function () {

    describe('location column ', function () {
        it('should swap right', function () {
            browser.sleep(10000);
            var fColumn = element(by.xpath('(//*[@class="k-link"])[2]')).getText();
            console.log(fColumn); 

控制台输出:

>   columns swap
>     location column { ptor_:    { controlFlow: [Function],
>      schedule: [Function],
>      getSession: [Function],
>      getCapabilities: [Function],
>      quit: [Function],
>      actions: [Function],
>      executeScript: [Function],
>      executeAsyncScript: [Function],
>      call: [Function],
>      wait: [Function],
>      sleep: [Function],
>      getWindowHandle: [Function],
>      getAllWindowHandles: [Function],
>      getPageSource: [Function],
>      close: [Function],
>      getCurrentUrl: [Function], ...

此外,如果我将此部分与expect()一起使用:

Also if I use this part with expect():

    expect(columnSorting.acpColumn.getText()).to.eventually.equal(fColumn);

我看到:

  1) columns swap location column  should swap right:
     AssertionError: expected 'Location' to equal { Object (ptor_, parentElement
ArrayFinder, ...) }

因此,出于某种原因,我可以从期望中获取文字并且正确 - 位置

So for some reason I can get text from expect and it correct - 'Location'

我做错了什么?

推荐答案

getText() 返回承诺。如果要记录实际值,则需要解决它:

getText() returns a promise. If you want to log an actual value, you need to resolve it:

element(by.xpath('(//*[@class="k-link"])[2]')).getText().then(function (value) {
    console.log(value);

    expect(columnSorting.acpColumn.getText()).to.eventually.equal(value);
});






请注意 expect( )在protractor / jasminewd中修补以隐式解决承诺。换句话说,您可以断言 getText()等于所需的文本:


Note that expect() is "patched" in protractor/jasminewd to resolve promises implicitly. In other words, you can assert getText() being equal to the desired text:

expect(element(by.xpath('(//*[@class="k-link"])[2]')).getText()).toEqual('My Text');

这篇关于量角器返回一个对象但是期望 - element.getText()的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆