<select class = "form-control m-b slctrLevel"
[(ngModel)] = "level.id"
name = "LevelId" >
<optgroup class = "slctrLevelLabel" label = "Levels" >
<option value = "{{levelInfo.id}}" * ngFor = "let levelInfo of levelInfo" >
{{ levelInfo.title }}
</option>
< /optgroup>
< /select>
Код теста транспортира
let levelPoint = 100;
let levels = element.all(by.className("slctrLevel")).first();
levels.getText().then(value => {
console.info("Gamification Level :" + value);
expect(levelPoint).toBe(value);
});
Снимок экрана пользовательского интерфейса
Когда я пытаюсь получить текст из тега select. Он дает целые варианты текста. Должен быть возвращен технически выбранный текст значения. Из-за чего ожидаемое условие не выполняется.
- Expected '100' to be ' 100
200
300
400





Вы используете неправильный локатор, который найдет весь <select>, а не первый вариант <select>.
let levelPoint = 100;
let levels = element.all(by.css("select.slctrLevel option"));
levels.first().getText().then(value => {
console.info("Gamification Level :" + value);
expect(levelPoint).toBe(value);
});
Проблема заключается в том, что когда я выбираю вариант из выбора, а затем после сохранения настроек, при автоматизации тестовый пример будет передан, когда текст, который отображается в поле, совпадает с вариантом, который я выбрал ранее.