我有一個 Ionic 6 應用程式,我正在使用 cypress 9.3.1 對其進行測驗。
在我的應用程式中,我正在使用這樣的離子搜索欄:
<ion-searchbar *ngIf="showSearchbar" [value]="search" (search)="searchQuestions($event)"
placeholder="{{'components.search.placeholder' | translate}}">
searchQuestions 方法如下所示:
public searchQuestions(event): void {
console.log('test');
this.triggerSearch.emit(event.target.value);
}
當我手動測驗它時,一切正常,但是當我像這樣執行 cypress 代碼時:
cy.get('.searchbar-input')
.type('test1' '{leftArrow}{del}{enter}' 'test');
輸入欄位用 填充testtest,所以{leftArrow}{del}正在作業,但未執行console.logfromsearchQuestions并且未發出事件
編輯:當我使用(keyup.enter)="searchQuestions($event)"而不是(search)="searchQuestions($event)"它似乎作業正常。但我想替換它對于本機應用程式來說是有問題的,并且保留兩者可能會導致問題。
uj5u.com熱心網友回復:
應用程式或 Ionic 框架正在添加一個事件處理程式來觸發search事件,但賽普拉斯對此一無所知。
在.type()命令中它只發出鍵盤事件,這就是(keyup.enter)="searchQuestions($event)"觸發但(search)="searchQuestions($event)"不觸發的原因。
首先要嘗試的是
cy.get('.searchbar-input')
.type('test1' '{leftArrow}{del}{enter}' 'test')
.trigger('search')
還可以嘗試觸發其他事件,例如.trigger('change')和.trigger('input')。
可能導致它的另一件事是{enter}在鍵入的字串的中間。
試試.type('test1' '{leftArrow}{del}' 'test' '{enter}')——這看起來更像是用戶會使用的模式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/434802.html
下一篇:如何在golang中序列化字典
