【问题标题】:cy.select() can only be called on a <select>. Your subject is a: <div class="col-md-6">...</div>cy.select() 只能在 <select> 上调用。您的主题是:<div class="col-md-6">...</div>
【发布时间】:2021-09-24 01:24:36
【问题描述】:

我正在尝试通过赛普拉斯从多选下拉列表中选择一个值并使用它

 cy.get(':nth-child(7) > .row > :nth-child(1)')
 .select('The Watermark at Cherry Hills', { force: true })
 .invoke('val')
 .should('0', 'The Watermark at Cherry Hills')

失败了。任何人都可以指导我如何处理这个?

<div data-vv-name="Community 1" class="">
   <div class="ui fluid search selection dropdown form-control">
      <i class="dropdown icon"></i><input autocomplete="off" tabindex="0" name="" class="search">
      <div data-vss-custom-attr="" class="text default">Select community/s
      </div>
      <div tabindex="-1" class="menu hidden" style="display: none;">
         <div data-vss-custom-attr="" class="item">
            The Watermark at Cherry Hills
         </div>
         <div data-vss-custom-attr="" class="item">
            The Fountains at Albemarle
         </div>
         <div data-vss-custom-attr="" class="item">
            The Sapphire Valley
         </div>
      </div>
   </div>
</div>

【问题讨论】:

  • 你能分享你的下拉列表的html吗?
  • @AlapanDas 刚刚添加有问题..
  • 乐于助人:)

标签: testing automation automated-tests cypress


【解决方案1】:

首先,您必须对下拉菜单进行click() 操作以展开它。现在使用each(),您可以遍历下拉列表的所有元素,并使用if 条件单击您要选择的元素。

cy.get('.search.selection.dropdown').click() 
cy.get('div.item').each(($ele) => {
    if ($ele.text() == "The Watermark at Cherry Hills") {
        cy.wrap($ele).click()
    }
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 2016-08-18
    • 1970-01-01
    • 2019-03-11
    相关资源
    最近更新 更多