我正在进行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
有人可以告诉我是否有更好的方法来解决这个问题?