Cypress для проверки значения переключателя - PullRequest
1 голос
/ 01 апреля 2019

Я пишу кипарис-тест для радио, чтобы проверить, является ли он частным или общедоступным.

Раздел HTML

<div _ngcontent-c6="" class="form-check form-check-inline mb-1">`  
    <input _ngcontent-c6="" class="form-check-input ng-untouched ng-pristine ng-valid" formcontrolname="projectStatus" id="private" name="projectStatus" type="radio" ng-reflect-name="projectStatus" ng-reflect-form-control-name="projectStatus" ng-reflect-value="false" ng-reflect-model="false">
    <label _ngcontent-c6="" class="form-check-label" for="private">Private</label>
</div>

Cypress Test

cy.get('#private').should('have.attr', 'checked', 'true') // Not working
cy.get('[type="radio"]').should('have.attr', 'ng-reflect-value', 'false') // Not Working

Отчасти проблема в том, что когда я утешаю, я вижу сообщение <input#private.form-check-input.ng-untouched.ng-pristine.ng-valid> Я не могу найти атрибут ng-reflect-checked

Кто-нибудь делал кипарисовую проверку радиокнопки, сделанной на Angular?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Это тоже решение:

cy.get('for=["private"]')
    .parent()
    .find('input')
    .should('be.checked')

Таким образом, вам не нужны дополнительные атрибуты для элемента ввода.

0 голосов
/ 02 апреля 2019

Ну, я добавил атрибут значения во вход

<input _ngcontent-c6="" class="form-check-input ng-untouched ng-pristine ng-valid" formcontrolname="projectStatus" id="private" name="projectStatus" type="radio" ng-reflect-name="projectStatus" ng-reflect-form-control-name="projectStatus" ng-reflect-value="false" ng-reflect-model="false" **value="false"**>

Код кипариса

cy.get('#private').should('have.attr', 'value', 'false')

Надеюсь, у кого-то есть лучшее решение.

...