【发布时间】:2022-01-26 12:26:30
【问题描述】:
我正在尝试删除“每个”循环内的记录。每次运行第一次都会被删除,第二次只是点击不按住。
cy.get('pc-fonts-manager-list').then(($fontsList) => {
cy.get('pc-fonts-family-list-item').each(listItem =>{
cy.get('[data-at=fontName]').first().invoke('text').then($fontName =>{
cy.get('[data-at=removeFontBtn]').first().click();
cy.holdToDeleteFontFamily('[data-at=fontFamilyConfirmRemoveBtn]');
cy.wait('@deleteFamily');
cy.assertSnackbarMessage(' Font Family \''+$fontName+'\' has been deleted ');
这是点击并按住按钮的部分(第一次迭代):
Cypress.Commands.add('holdToDeleteFontFamily', (element) =>{
cy.get(element).focus().trigger('keydown', {key: 'Enter'})
});
我不确定它是否可能与trigger() 有关,因为我也尝试了“鼠标点击”的方法,但它也没有奏效。
HTML 片段:
<div class="c-alert__buttons"><button _ngcontent-cvf-c367="" ip-btn-regular-tertiary="" size="small" data-at="fontFamilyCancelRemoveBtn" class="c-btn c-btn--regular-tertiary c-btn--regular-tertiary-small c-btn--regular-tertiary-danger" ng-reflect-size="small"><span class="c-btn__content"> cancel </span></button><button _ngcontent-cvf-c367="" ip-btn-regular-secondary="" ip-btn-click-and-hold="" size="small" data-at="fontFamilyConfirmRemoveBtn" class="c-btn c-btn--regular-secondary c-btn--regular-secondary-small c-btn--click-and-hold c-btn--regular-secondary-danger" ng-reflect-size="small"><span class="c-btn__content"> confirm </span></button></div>
感谢您的帮助!
【问题讨论】:
-
请分享你的元素的html
-
您是否尝试在循环结束时添加
keyup事件?keydown可能仍在使用中,因此系统不会注册新的keydown事件。 -
我尝试添加
keyup,但按住3秒后此按钮消失。这是您需要按住 3 秒的功能。 keydown 第一次工作,但在第二个记录中,它只是单击而不是按住它。 -
@AlapanDas,我现在在帖子中添加了 HTML
标签: triggers cypress each keydown mousedown