Я пишу e2e-тесты для веб-приложения с использованием Cypress Test Framework. Элементы создаются с использованием DevExtreme для Angular.
У меня проблема с полями даты. Я всегда должен получать доступ к этим элементам, используя их индексы, которых я хочу избежать для облегчения тестирования. Свойства «name» определены в этих полях, но Cypress не может найти элементы даты по имени. Когда я передаю свойство "name", мой тест не пройден.
Html code:
<div fxFlex="15" style="margin-right: 2%">
<dx-date-box width="95%" type="date" displayFormat="{{config.DateFormatDX}}"
[disabled]="edit" placeholder="{{'DATE' | translate }}"
name="data.admissionDate" pickerType="calendar" [(ngModel)]="data.admissionDate"
dateSerializationFormat="dd.MM.yyyy">
</dx-date-box>
</div>
<div fxFlex="15" style="margin-right: 2%">
<mat-form-field fxFlex="100">
<input matInput fxFlex="100" [disabled]="edit" name="data.requestStatusCode"
placeholder="{{'REQ_STATUS_CODE' | translate}}"
[(ngModel)]="data.requestStatusCode">
</mat-form-field>
</div>
The test:
it('should enter the date', function() {
//problem
cy
.get('input[name="data.admissionDate"]')
.wait(3000)
.type(this.admin.date)
.should("have.value", this.admin.date)
.wait(3000);
})
it('should enter the status code', function() {
//OK
cy
.get('input[name="data.requestStatusCode"]')
.wait(3000)
.type(this.admin.statusCode)
.should("have.value", this.admin.statusCode)
.wait(3000);
})
У кого-нибудь есть рекомендации или советы, как получить доступ к элементу даты DevExtreme? У меня нет никаких проблем с другими видами элементов. Например, Cypress может найти элемент кода состояния и написать что-то в этом поле.