Я хочу проверить, что мой конкретный элемент tr
получает класс selected
css, добавленный к нему при нажатии на ячейку. Я хочу идентифицировать конкретную строку по ее тексту, затем щелкните ячейку в строке и затем проверьте ее классы CSS.
Этот код, который проверяет этот CSS на всей странице, похоже, работает:
row = find(:xpath, "//tr[contains(., 'My Text')]")
cell = find(:xpath, "//tr[contains(., 'My Text')]/td")
expect(page).to_not have_css("tr.selected") # success
cell.click
expect(page).to have_css("tr.selected") # success
... но я бы хотел ограничить поиск конкретным объектом строки. Этот код никогда не находит css, который я ищу, и всегда терпит неудачу последний expect
.
row = find(:xpath, "//tr[contains(., 'My Text')]")
cell = find(:xpath, "//tr[contains(., 'My Text')]/td")
expect(row).to_not have_css("tr.selected")
cell.click
expect(row).to have_css("tr.selected") # fails
Когда я смотрю на row[:class]
после click
, я вижу 'selected' в его списке классов. Как правильно ограничить свой тест поиском класса .selected
только в моей конкретной строке?