赛普拉斯(Cypress.IO):如何在select中获取所选选项的文本?

时间:2018-07-07 11:40:16

标签: cypress

我希望能够获取所选选项的文本而不是值。我会使用该值,但Angluar会对其进行更改,然后将该值放入ng-reflect-ng-value属性。

var chk = 1;
function startReading(1){


var aCount = 3;

// Start Reading - Play the Audio
// -------------------------------------
var repeatTimes = document.getElementById('repeatA').value;
(function play(c){ 
    audio.play(); 
    audio.onended = function (){   

        if(c >= repeatTimes ){  
            if(i <= aCount){//and not reached the last audio
                    i++;
                    if(i <= aCount) startReading(i);
                    else if (repeatTimes > 1 && chk < repeatTimes ){
                            i = 1;
                            chk++;
                            startReading(i);
                    }
            }
        } else {//we didnt reached the third play, lets keep going...
            play(c+1);  
        }
    };
})(1)//start with 1

}

这可以工作,但是我想检查它是否等于杂种

<option _ngcontent-c1="" value="5: 1" ng-reflect-ng-value="1">Miscellaenous</option>

2 个答案:

答案 0 :(得分:6)

应该这样做:

cy.get('#id-9999').find('option:selected').should('have.text', 'Miscellaenous');

除其他外,它会检查完全匹配而不是子字符串(如您的解决方案中)。

答案 1 :(得分:3)

好吧,我有个屁,实际上我之前曾问过这个问题,却忘记了怎么做。这对我有用

cy.get('#id-9999').find('.categoryList').find(':selected').contains('Miscellaenous')