赛普拉斯-每个反向

时间:2020-04-20 18:26:55

标签: jquery each cypress

我需要反向从数组中取出元素。我必须从最后一个开始。在Cypress中找不到与jQuery“反向”不同的解决方案,但我在使用时遇到问题。

不能同时使用:

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.css" rel="stylesheet" />

<div id="app">
  <v-app id="inspire">
    <v-container>
      <v-layout justify-center>
        <v-flex xs6>
          <v-text-field solo v-model="inputField"></v-text-field>
          <v-btn @click="createArray">Click Me</v-btn>
        </v-flex>
      </v-layout>
    </v-container>
  </v-app>
</div>
赛普拉斯的

答案-TypeError:cy.get(...)。reverse不是函数

还有

 cy.get('.btn-remove.action.delete').reverse().each(($el, index, $list) =>  {
                        cy.get($el).click({force:true})
                       cy.wait(1000)
                })

来自Cypress的答案-CypressError:超时重试:cy.invoke()错误,因为您的主题上不存在属性“ reverse”。

或者也许有其他方法与reverse()不同?

1 个答案:

答案 0 :(得分:0)

如何尝试使用for循环并使用eq()从头开始迭代:

cy.get('.btn-remove.action.delete').its('length').then((numberOfItems) => {
  for (var i = numberOfItems-1; i>=0; i--) {
    cy.get('.btn-remove.action.delete').eq(i).click({force:true})
  }
})

也许这不是最干净的方法,但应该可以。

不确定您的代码中的cy.wait(1000)是什么,但是这里没有必要。 (Actually, you should avoid using cy.wait() as much as possible)

如果您有任何疑问,请告诉我。