Как получить текст каждой ячейки из первых двух строк ag-сетки в транспортире - PullRequest
0 голосов
/ 21 декабря 2018

У меня угловая сетка с 3 рядами.Все три строки относятся к одному и тому же классу А., но у всех рядов есть xpath webelement B (// div).Как перебрать каждую ячейку первых двух строк и получить значения в массиве?Пожалуйста, помогите мне в этом.

Нет повторителя.Когда я попытался получить текст каждой ячейки 1-й строки, используя div xpath webelement B, он дал мне такой результат:

cell1 cell2 cell3

Но мне нужен результат в этом формате ['cell1 ',' cell2 ',' cell3 ']

и когда я получаю текст класса A, он выдает меня в правильном формате, но все ячейки из 3 строк идут.как ['cell1', 'cell2', 'cell3', 'cell6' ........]

Я написал так:

var expectedCells = element.all(by.css('.A); - using class A
expectedCells.each((eachCell) => {
    eachCell.getText().then((cellText) => {
        expect(expectedCells).toEqual([['cell1', 'cell2', 'cell3'])
    });
}) 

Ожидается: ['cell1', 'cell2', 'cell3']

Фактически: указывается только последний текст ячейки

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Вы можете сделать это с меньшим количеством линий, используя карту:

let elements = element.all(by.css('.A'));

elements.map(el => el && el.getText()).then( textarray => {
    expect(textarray).toEqual(['cell1', 'cell2', 'cell3']);
});
0 голосов
/ 21 декабря 2018

Попробуйте приведенный ниже

var expectedArray[] = ['cell1', 'cell2', 'cell3'];
var expectedCells = element.all(by.css('.A); - using class A
var textArray[];
for(i=0;i<expectedCells.count();i++){
    expectedCells.get(i).getText().then((cellText) => {
    textArray[i]= cellText;
 });
}
expect(textArray).toBe(expectedArray);

Надеюсь, что приведенный выше код поможет вам.

...