如何通过量角器获取<select>标签中存在的选项的文本

时间:2018-05-19 09:08:15

标签: testing protractor

&lt; select class =&#34; form-control m-b slctrLevel&#34; [(ngModel)] =&#34; level.id&#34; name =&#34; LevelId&#34; &GT;     &lt; optgroup class =&#34; slctrLevelLabel&#34; label =&#34; Levels&#34; &GT;         &lt; option value =&#34; {{levelInfo.id}}&#34; * ngFor =&#34;让levelInfo&#34;的levelInfo &GT;     {{levelInfo.title}}     &LT; /选项&GT; &LT; / OPTGROUP&GT; &LT; /选择&GT; 量角器测试代码  let levelPoint = 100;  let levels = element.all(by.className(&#34; slctrLevel&#34;))。first();  levels.getText()。then(value =&gt; {  console.log(&#34;游戏化级别:&#34; +值);  期望(levelPoint).toBe(值);  }); UI的ScreenShot 当我尝试从select标签获取文本时。它提供了整个选项Text。应返回技术选择的值文本。 由于预期条件失败。   - 预期&#39; 100&#39;成为&#39; 100                           200                           300                           400

1 个答案:

答案 0 :(得分:0)

您使用了错误的定位器,它将找到整个<select>,而不是<select>的第一个选项。

let levelPoint = 100;

let levels = element.all(by.css("select.slctrLevel option"));

levels.first().getText().then(value => {
    console.log("Gamification Level :" + value);
    expect(levelPoint).toBe(value);
});