Мой Cypress тест не пройден по элементам даты DevExtreme - PullRequest
0 голосов
/ 30 января 2020

Я пишу 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 может найти элемент кода состояния и написать что-то в этом поле.

...