水豚测试:点击按钮无法正常工作
问题描述:
我正在使用水豚写我的功能测试,在那里我必须检查每个按钮的功能。其实,我正在测试以下功能: feature for testing image水豚测试:点击按钮无法正常工作
我试图找到表格上的最后一个删除图标,然后单击它,但是没有出现对话栏。我的测试场景:
scenario 'delete button ' do
# click on delete icon does not work
(page.all('.table_amenities tr').last).find(".amenity_action>button", visible: false).click
expect(page).to have_content '削除してもよろしいですか?'
end
此功能的
Javascript代码:
template#room-amenities-template
div[v-if="permissions[0]"]
#room-amenities-dialog
| {{ window.I18n.dialogs.delete_confirmation }}
.search_date
router-link[to="/buildings"]
span.but_choice.hvr-fade
i.fa.fa-home[aria-hidden="true"]
| {{ window.I18n.activerecord.models.building }}
a
span.but_choice_active
i.fa.fa-list[aria-hidden="true"]
| {{ window.I18n.activerecord.models.room_amenity }}
router-link[to="/room_types"]
span.but_choice.hvr-fade
i.fa.fa-bars[aria-hidden="true"]
| {{ window.I18n.activerecord.models.room_type }}
router-link[v-if="permissions[1]" to="/room_amenities/new"]
span#new-room-amenity.but_save.hvr-fade
i.fa.fa-plus[aria-hidden="true"]
| {{ window.I18n.buttons.new }}
.for_table_amenities
table.table_amenities[width="80%" border="1px solid #313131;"]
tr
th.amenity_number
| {{ window.I18n.support.tables.num }}
th.amenity_title
| {{ window.I18n.activerecord.models.room_amenity }}
th.amenity_action
| {{ window.I18n.support.tables.actions}}
tr[v-for="(roomAmenity, index) in roomAmenities"]
td
| {{ index + 1 }}
td.amenity_title
| {{ roomAmenity.title }}
td.amenity_action
template[v-if="permissions[2]"]
router-link[:to= "{ path: '/room_amenities/' + roomAmenity.id }"]
button.btn-link
i.fa.fa-pencil[aria-hidden="true"]
template[v-if="permissions[3] && roomAmenity.rooms.length === 0"]
| |
button.btn-link[@click= "promptRemove (index, roomAmenity.id)"]
i.fa.fa-trash.delete_from_table[aria-hidden="true"]
此表的
HTML代码:
<td>4</td>
<td class="amenity_title">Refrigerator</td>
<td class="amenity_action">
<a href="/room_amenities/4" class="">
<button class="btn-link"><i aria-hidden="true" class="fa fa-pencil"> </i></button></a>
|
<button class="btn-link"><i aria-hidden="true" class="fa fa-trash delete_from_table"></i></button>
没有任何人有一个想法,为什么对话栏可能没有出现删除图标点击?
答
您不能点击不可见的项目,因此传递visible: false
选项,然后调用单击生成的元素是没有意义的。另外,您希望将minimum: 1
选项传递给all
调用以确保表已实际加载,或者使用类似于last-child的css选择器而不是all
。像
page.find('.table_amenities tbody tr:last-child').find(".amenity_action > button:last-child).click
应该工作。如果这不起作用,那么检查是否发生阻止点击处理程序发生的JS错误。
它不起作用:( –
“不起作用”是什么意思?你点击错误,或者内容期望失败?还是别的什么? –
删除按钮点击不会触发对话栏的外观 –