逍遥子。如何从多行的多个单元格中检索数据?

问题描述 投票:0回答:1

我想从多行的多个单元格中获取数据并进行断言。

我有一个10行的表格,每行有13个单元格。我需要只从单元格1、2、3和5中获取值和断言。

这是我的代码。

let rows = element.all(by.tagName('tr'));
    let data = rows.map((row) => { 
        let cells = row.all(by.tagName('td'));
        return {
            position: cells.get(1).getText(),
            category: cells.get(2).getText(),
            value: cells.get(3).getText(),
            points: cells.get(5).getText()
        }        
    })

    expect(data).to.deep.equal([
        {position: "1", category: "test1", value: "11", points: "3"},
        {position: "2", category: "test2", value: "12", points: "5"},
        {position: "3", category: "test3", value: "13", points: "3"},
        {position: "4", category: "test4", value: "14", points: "5"},
        {position: "5", category: "test5", value: "15", points: "3"},
        {position: "6", category: "test6", value: "16", points: "5"},
        {position: "7", category: "test7", value: "17", points: "3"},
        {position: "8", category: "test8", value: "18", points: "5"},
        {position: "9", category: "test9", value: "19", points: "3"},
        {position: "10", category: "test10", value: "20", points: "5"}
    ]);

我怎样才能解决这个问题?目前我得到这个错误。

AssertionError: expected { Object (flow_, stack_, ...) } to deeply equal [ Array(10) ]
javascript typescript protractor cucumber
1个回答
1
投票

为什么你不使用只是 expect([]).toEqual([])

如果你在处理对象时遇到问题,可以尝试使用stringify。

expect(JSON.stringify(data)).toEqual('[{"....."}]');

expect(JSON.stringify(data)).toMatch('[{"....."}]');
© www.soinside.com 2019 - 2024. All rights reserved.