Automation Cypress-如何等待选择dorpdown以加载所有选项?

Automation Cypress-如何等待选择dorpdown以加载所有选项?,automation,cypress,Automation,Cypress,expect断言将失败,因为未加载所有选项 预期属性“childElementCount”为7,但得到1 有什么办法可以用柏树做吗?如果没有,则使用jQuery?等待加载选项,在.get和.then之间插入.should。或者甚至改变。然后改成。应该就行了 .should的关键之处在于,它将使前面的命令失效,直到其条件成功为止,因此它非常适合等待异步数据 所以 赛格特严重性 。应$optionsArray=>{ 需要$optionsArray.get0.to.have.property'chil

expect断言将失败,因为未加载所有选项

预期属性“childElementCount”为7,但得到1
有什么办法可以用柏树做吗?如果没有,则使用jQuery?

等待加载选项,在.get和.then之间插入.should。或者甚至改变。然后改成。应该就行了

.should的关键之处在于,它将使前面的命令失效,直到其条件成功为止,因此它非常适合等待异步数据

所以

赛格特严重性 。应$optionsArray=>{ 需要$optionsArray.get0.to.have.property'childElementCount',6 } 将继续重新获取严重性并刷新$optionsArray,直到expect成功或超时发生

我会将等待的部分与处理的部分分开,如下所示

赛格特严重性 。应$optionsArray=>{ 需要$optionsArray.get0.to.have.property'childElementCount',6 } 。然后$optionsArray=>{ 让optionVal=新数组 optionVal=$optionsArray.children var randomChoice=optionVal[Math.floorMath.random*optionVal.length+1] addAppointment.selectSeverityrandomChoice.text }; 为了

超时 。将继续重试其指定的断言,直到超时

get'input',{timeout:10000}.should'have.value',10' //此处的超时将传递给“.should” //它将重试最多10秒 cy.get'input',{timeout:10000}。是否应$input=>{ //此处的超时将传递给“.should” //除非更早地抛出断言, //所有断言将重试最多10秒 预期$input.to.not.be'disabled' 预期$input.to.not.have.class'error' 期望$input.to.have.value'US' }
var名称不合适,请更改它。另外,请添加您如何触发下拉列表的信息,以便我们可以帮助您,您的问题没有提供足够的信息。我完全同意您的意见,只是为了澄清。然后只尝试一次。应该尝试断言,直到它们通过,或直到它超过欢呼声,这是我的目的,但可能不够清楚。
cy.get("#severities").then(($optionsArray) => {
           expect($optionsArray.get(0)).to.have.property('childElementCount', 6) 
       let optionVal = new Array()
       optionVal = $optionsArray.children()
       var randomChoice = optionVal[Math.floor(Math.random() * optionVal.length) + 1]
       addAppointment.selectSeverity(randomChoice.text)
       })