【问题标题】:Cypress - if then functions赛普拉斯 - if then 功能
【发布时间】:2019-04-26 03:27:49
【问题描述】:

我对赛普拉斯有疑问。

我在页面上有一个元素并不总是出现。什么时候显示什么时候不显示都没有逻辑。

在赛普拉斯中是否有一些 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>

【问题讨论】:

  • Cypress docs - Conditional Testing 包含大量示例。
  • 怎么可能没有关于它何时显示的逻辑?是什么让它显示出来?我想我对一个元素如何决定自己出现在你的 dom 中感到困惑。你能解释更多吗?
  • 有产品可以选择。它们按价格排序,并且价格随着之前的每个字段而变化。只有两种产品具有该元素。
  • 这能回答你的问题吗? How to check if element exists using Cypress.io

标签: if-statement testing automation cypress


【解决方案1】:

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

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

【讨论】:

  • 那行不通。如果元素存在,我将单击复选框,并且此代码始终一无所获。
  • 发布您的代码、HTML 和 cypress 命令日志,人们将能够更好地帮助您
  • 我把它贴在描述里。
  • 你有错误的选择器,你告诉它点击标签,而不是输入。试试这个:cy.get('input#p4-conditional-csob-interest-insurable-1').click() 而不是 cy.get('[for="p4-conditional-csob-interest-insurable-1"]').click()
【解决方案2】:

你必须点击输入元素而不是标签:

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

无论如何,请查看赛普拉斯文档,因为强烈建议不要进行条件测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 2023-01-12
    相关资源
    最近更新 更多