需要检查选择或删除按钮显示

Need to check either selected or remove button displaying

在名为“删除”的页面中有两个按钮,selected.I 需要检查其中一个按钮是否可见,因为有时选中的按钮不会出现。 Cy.get('remove button') Cy.get('selected button')

我需要检查是否应显示上述任一元素。有时只有 remove 可用。所以当我写上面的代码时,它正在搜索选定的按钮并抛出错误。

你可以这样做。用逗号写两个选择器表示 'OR'。这意味着如果 removeButtonSelector 存在,请考虑并继续,如果不存在,则转到 selectedButtonSelector。为此,需要做两件事:

  1. 确保在执行这行代码之前页面已完全加载并且所有元素都已加载。
  2. 其他元素不应存在于 DOM 上,否则每次 removeButtonSelector 都会被考虑。
cy.get('removeButtonSelector,selectedButtonSelector').should('be.visible')

要获得 'selected button' 或(如果不存在)则 'remove button',您必须在列表中按该顺序指定它们

cy.get('selected button',  'remove button')

但这不是 Cypress 的官方文档。我认为由于页面加载延迟,它可能会失败太多次。

这里是官方模式Element existence

cy.get('body')
  .then(($body) => {
    if ($body.find('selected button').length) {
      cy.get('selected button').click()
    } else {
      cy.get('remove button').click()
    }
  })