赛普拉斯-如果可以运行

时间:2018-11-23 13:54:51

标签: if-statement testing automation cypress

我对赛普拉斯有疑问。

我在页面上有一个不会一直显示的元素。无论何时显示和不显示,都没有逻辑。

赛普拉斯中是否存在某些IF / THEN函数,或者如何检查该元素是否已显示(因此将其填充)以及何时看不到该元素(跳过该步骤)?

我的代码:

if (Cypress.$('[data-bind="validationElement: interestInsurable"]').length > 0) {
            cy.get('[for="p4-conditional-csob-interest-insurable-1"]').click()        
        }
else {cy.get('#car-info-serie')}

这是在操场上的样子: Picture

并且该复选框具有HTML:

<label class="z-radio z-radio-inline primary" for="p4-conditional-csob-interest-insurable-1" data-bind="popover: { content: VehicleInsuranceTooltips.conditionalDataCsobInterestInsurable1Tooltip }" data-original-title="" title="">
    <input id="p4-conditional-csob-interest-insurable-1" name="p4-conditional-csob-interest-insurable" type="radio" class="custom-radio" data-toggle="radio" data-bind="checkedValue: 1, checked: interestInsurable" value="1">
<span class="icons">
<span class="icon-unchecked"></span>
<span class="icon-checked"></span>
</span>
Patří vozidlo zájemci o pojištění?
</label>

2 个答案:

答案 0 :(得分:2)

赛普拉斯没有内置的方法可以做到这一点。我在测试中使用了它:

if (Cypress.$("#yourElement").length > 0) {
  // element exists, do something
} else {
  // element does not exist, do something else
}

答案 1 :(得分:0)

您必须单击输入元素而不是标签:

cy.get('#p4-conditional-csob-interest-insurable-1').click();

由于强烈建议不要进行条件测试,因此无论如何都要看一下赛普拉斯文档。