7

Không thể hiểu tại sao nó trả về một đối tượng không phải là một giá trị của văn bản, một số mã kiểm tra:thước đo trả về một đối tượng nhưng mong đợi - giá trị của element.getText()

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); 

điều khiển đầu ra:

> 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], ... 

Ngoài ra nếu tôi sử dụng phần này với mong đợi():

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

tôi thấy:

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

Vì vậy, đối với một số lý do tôi có thể nhận được văn bản từ mong đợi và nó đúng - 'Vị trí'

im làm gì sai?

Trả lời

12

getText()trả về lời hứa. Nếu bạn muốn đăng nhập một giá trị thực tế, bạn cần phải giải quyết nó:

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

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

Lưu ý rằng expect() được "vá" trong thước đo/jasminewd để giải quyết những lời hứa ngầm. Nói cách khác, bạn có thể khẳng định getText() là bằng văn bản mong muốn:

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

Vâng tôi biết rằng chúng tôi có thể sử dụng dự kiến ​​giáo khoa nhưng trong tính năng nó sẽ không làm việc cho tôi, bởi vì chúng tôi sẽ có dịch ngôn ngữ khác nhau. cảm ơn bạn vì ví dụ này. về cơ bản tôi cần lưu trữ 'giá trị' này là var và sử dụng nó cho mong đợi của tôi(). nhưng tôi có thể hiểu làm thế nào để làm điều đó - kiến ​​thức nghèo nàn của tôi về js. bạn có thể viết ví dụ đơn giản cho nó không? – kyxap

+0

@kyxap Tôi đã cập nhật câu trả lời bao gồm cả cuộc gọi mong đợi bên trong hàm 'then()'. Đây có phải là những gì bạn đang cố gắng nói không? Cảm ơn. – alecxe

+0

cảm ơn rất nhiều nó là – kyxap

Các vấn đề liên quan