如何使用if语句处理Cypress中的隐藏元素?

问题描述 投票:0回答:1

我有一个动态的元素招聘广告,我希望它在显示和不显示时进行处理

例如,如果显示 .job-ad,则记录它是可见的文本,否则记录它是隐藏的。我尝试了以下方法,但它让我抛出 #JobAdCard 被隐藏的错误(这就是我想显示“它被隐藏”的地方)

这是我的方法;

cy.get('.job-ad', {failOnStatusCode: false})
 .then(($jobAd) => {
    if ($jobAd.length > 0 && $jobAd.is(':visible')) {
       cy.log('JOB CARD IS VISIBLE');
    } else {
       cy.log('JOB CARD IS HIDDEN');
  }
});

以及我得到的错误;

Timed out retrying after 1000ms: Expected to find element: .job-ad, but never found it.

automation cypress cypress-conditional-testing
1个回答
0
投票
cy.get('body').then((body) => {
  if (body.find('.job-ad').length > 0) {
      cy.log('JOB CARD IS VISIBLE')
  }
  else {
      cy.log('JOB CARD IS HIDDEN');
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.