Я работаю над тестом RSpec, в соответствии с которым будет выбрана назначенная строка в таблице пользователей. HTML для таблицы пользователей выглядит следующим образом:
<tr id="IvUserList_DXDataRow0" class="dxgvDataRow_Injixo">
<td class="dxgv">J.P.</td>
<td class="dxgv">Mc Fly</td>
<td class="dxgv">asd@kl.co</td>
<td class="dxgv">30.01.2012</td>
<td class="dxgvCommandColumn_Injixo dxgv" align="center">
..........
..........
</td>
</tr>'
В конце каждой строки есть выпадающая кнопка «dxgvCommandColumn_Injixo dxgv», которая используется для отображения контекстного меню других параметров («Редактировать», «Пароль», «Удалить»). Я пытаюсь выбрать кнопку для строки testuser@test.com, но каждый раз ошибочно выбираю первое вхождение кнопки.
Мой код выглядит следующим образом:
before(:each) do
within(:xpath, '//*[@id="IvUserList_DXMainTable"]') do
row = find(:xpath, '//*[@class="dxgvDataRow_Injixo"]')
row.should have_selector('td', :class => 'dxgv', :textContent => 'testuser@test.com')
within(row) do
find(:xpath, '//*[@class="dxgvCommandColumn_Injixo dxgv"]').click
end
end
sleep 1
click_link 'Edit User'
sleep 1
end
Может кто-нибудь сказать мне, если есть лучший способ решить эту проблему?