0

Не могли бы вы посоветовать некоторый скрипт для проверки ячеек таблицы для пустых значений? Мне нужно проверить, что в таблице нет пустых ячеек.Подтвердить таблицу для пустых ячеек

tableFG = page.table(:id => 'FinancialsGrid') 
tableFG.rows.each do |row| 
    row.cells.each do |cell| 
    expect(cell.tableFG_element.text).should_not be_nil 
    end 
end 

Возможно, существует еще один способ проверить пустые значения.

ответ

2

Единственное, что мне не нравится в том, чтобы вручную писать цикл для повторения и проверки каждой ячейки, заключается в том, что вы видите только результат первого отказа. Если говорят, что две ячейки, которые пусты, ошибка теста покажет только одну.

В результате я пытаюсь использовать встроенные математические матчи, которые проверяют каждый элемент (ex all). Например, следующее получает длину текста каждой ячейки и гарантирует, что длина не менее 1 символа. Обратите внимание, что Watir разделяет ведущие/конечные пробелы, поэтому длина 1 должна быть фактическим символом.

financials_grid = browser.table(:id => 'FinancialsGrid') 
expect(financials_grid.tds.map(&:text).map(&:length)).to all(be > 0) 

Неудачная ожидание будет выглядеть следующим образом, и включают в себя каждую ячейку, которая не:

expected [1, 0, 0, 1] to all be > 0 

object at index 1 failed to match: 
expected: > 0 
got: 0 

object at index 2 failed to match: 
expected: > 0 
got: 0 

Использование страниц объекта драгоценный камень будет похож (с несколько иными методами). Предполагая, что таблица определена на странице как financials_grid:

page = MyPage.new(browser) 
expect(
    page.financials_grid_element.cell_elements.map(&:text).map(&:length) 
).to all(be > 0) 
+0

Отлично. Благодарю вас, Джастин. Это лучше, чем я ожидал. Даже если у меня будет одна пустая ячейка, это уже плохо. Поэтому не так уж плохо найти одну пустую ячейку, потому что не должно быть ни одной пустой ячейки. –

Смежные вопросы