Я пытаюсь прочитать значение переключателя, которое выбрано в моем тестовом примере, но я всегда получаю ошибку, подобную этой:
Ожидается, что «вкл.» Будет «M».
Что я понимаю из вышеприведенной ошибки, так это то, что транспортир ожидает значение «Вкл.» Вместо «М».
Моя проблема довольно проста: я не могупрочитайте входное значение радиокнопки, которую я выбираю.
Несколько сценариев для лучшего понимания.
- Для моих радиокнопок не выбрано значение по умолчанию.
- Значение радиокнопки будет выбрано по умолчанию, если пользователь выбирает уже существующий элемент.
isValSelected
Значение изначально установлено в false и будет истинным, если пользователь выберет радиокнопку.явно или если пользователь выбирает из списка доступных имен
Я не мог решить эту проблему в течение последних нескольких дней.Любая помощь будет оценена.Я тоже пытался работать с обещаниями, но на данный момент ничего не работает.
Моя разметка:
<div class="col-md-6 form-group">
<div class="radio-class">
<div class="radio-field1">
<input type="radio" [value] = "'M'" name="gender" id="radioM" class="form-control" [(ngModel)] = "radioM" [attr.disabled]="isValSelected?'':null" [checked]="isValSelected && radioM=== 'M'" />
<label for="radioM">Male</label>
</div>
<div class="radio-field2">
<input type="radio" [value] = "'F'" name="gender" id="radioF" class="form-control" [(ngModel)] = "radioF" [attr.disabled]="isValSelected?'':null" [checked]="isValSelected && radioF === 'F'" />
<label for="radioF">Female</label>
</div>
</div>
</div>
Объект моей страницы:
MRadioLabel() {
return element(by.css("label[for='radioM']"));
}
MRadioInput() {
return element(by.id('radioM'));
}
Мой тестовый пример:
let newForm: myPo;
it('should read selected radio button value', () => {
expect(newForm.MRadioInput().getAttribute('checked')).toBeFalsy();
newForm.MRadioLabel().click()
expect(newForm.MRadioInput().getAttribute('checked')).toBeTruthy();
expect(newForm.MRadioInput().getAttribute('value')).toBe('M');
newForm.submitButton().click();
browser.driver.sleep(10000);
})