Quasar2 Vue3 Cypress 滑动切换状态与 Cypress 浏览器上显示的内容不匹配

2024-01-18

我的 vue 模板:

<template>
  <q-item tag="label" v-ripple>
    <q-item-section>
      <q-item-label class="text-mono">
        {{ name }}
      </q-item-label>
      <q-item-label caption>{{ description }}</q-item-label>
      <q-item-label
        caption
        class="text-red"
        v-show="warning"
        :key="warning"
        v-for="warning in warnings"
      >
        {{ warning }}
      </q-item-label>
      <q-item-label caption class="text-red" v-show="warningMsg">
        {{ warningMsg }}
      </q-item-label>
    </q-item-section>
    <q-item-section avatar>
      <q-toggle
        color="indigo"
        v-model="model"
        :disable="isToggleDisabled"
        @triggerFunc="btnToggleTrigger"
      />
    </q-item-section>
  </q-item>
</template>

我有以下 cypress E2E 测试代码片段:

  it('Verify Toggle Button from auto-generated page', () => {
    cy.get('[data-test="toggle-setting-0"]').should("not.be.checked");
    cy.get('[data-test="toggle-setting-0"]').click();
    cy.get('[data-test="toggle-setting-0"]').should("be.checked"); // XXX
  });

状态验证失败之后click()。但是,cypress 浏览器 UI 显示滑块按钮已被单击。错误信息:

Timed out retrying after 4000ms: expected '<label.q-item.q-item-type.row.no-wrap.q-item--clickable.q-link.cursor-pointer.q-focusable.q-hoverable>' to be 'checked'

我想念什么?


The <input>位于具有以下元素的元素内data-test属性。

您可以通过内部元素的类之一来验证状态。 对我来说似乎不太理想,但它有效。

cy.get('[data-test="toggle-setting-0"]')
  .find('.q-toggle__inner')
  .should('have.class', 'q-toggle__inner--falsy')

cy.get('[data-test="toggle-setting-0"]')
  .find('input')
  .check({force: true});

cy.get('[data-test="toggle-setting-0"]')
  .find('.q-toggle__inner')
  .should('have.class', 'q-toggle__inner--truthy')

理想情况下,您应该检查v-model多变的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Quasar2 Vue3 Cypress 滑动切换状态与 Cypress 浏览器上显示的内容不匹配 的相关文章

  • SlideToggle 高度为“跳跃”

    我的 jQueryslideToggle 实验 谁能告诉我为什么我打开盒子时会 跳动 前半部分他们滑动 其余部分他们 跳跃 Thanks 约翰内斯 对我有帮助的是 overflow hidden 到那个切换
  • 使用请求方法登录Cypress

    我注册并登录用户 但是 当在测试中导航到身份验证后面的页面时 Cypress 失败并将我带回登录页面 从它的外观来看 before函数已成功执行 由 API 日志验证 这是我的代码 describe Dashboard page gt be
  • 为什么 vue v-model 不适用于数组 prop?

    我有一个自定义组件 它采用modelValue道具并发出update modelValue事件 在父组件中 我传递一个数组 测试组件 vue
  • 如何在 Cypress 中点击 x 次

    我的网站上有一个对象列表 所有对象旁边都有 添加 按钮 单击第一个 添加 按钮时 将添加该对象 并且该行消失并被下一个对象取代 对象名称相同 在保存之前 我想 click 三次以添加列表中的前三个对象 我怎样才能做到这一点 我知道 clic
  • 什么是 Vue 3 组合 API 定义方法的类型安全方式

    我正在使用 Vue 的组合 API 在 Vue js 3 中 并主要在内部构建我的组件逻辑setup While 访问我自己的道具 https v3 vuejs org guide composition api setup html pr
  • Cypress:在第一次失败时中断所有测试

    如何在第一次测试失败时中断所有赛普拉斯测试 我们使用信号量为每个 PR 与 Cypress 启动完整的 e2e 测试 但这需要太多时间 我想在第一次测试失败时中断所有测试 获取完整的错误是每个开发人员在开发时的职责 如果在部署之前出现任何问
  • 如何使 Pinia 商店热重载更改?

    import defineStore acceptHMRUpdate from pinia import v4 as uuidv4 from uuid export const useStoreNotes defineStore store
  • 如何点击cypress中的链接

    如何使用 cypress 单击此链接 a href class button span class icon icon chevron down span span class screen reader only chevron down
  • Cypress:信用卡支付的自动测试[重复]

    这个问题在这里已经有答案了 我正在做信用卡付款的自动测试 不幸的是 测试在 到期日期 项中失败了 my code cy getWithinIframe name cardnumber type 4242424242424242 cy get
  • 如何使用 nuxt 和 @vue/composition-api 提供/注入 Vue 根实例?

    我正在尝试使用 vue apollo 可组合 https v4 apollo vuejs org guide composable setup html 1 install vue apollo composable与我的 Nuxt Ts
  • Vue 3:“defineProps”引用本地声明的变量

    为什么我收到警告错误消息 defineProps引用本地声明的变量 eslint vue valid define props 当我在 props 中使用自定义验证器时SFC
  • 未捕获的类型错误:emit 不是 vue3 中的函数

    当我在 vue 3 设置代码块中编写此代码以获取输入值时 请遵循此answer https stackoverflow com questions 66737918 how to use v model on component in vu
  • Vue 3 - 如何使用反应式引用并在没有 .value 的情况下进行计算?

    当我们使用选项 API https v3 vuejs org api options api html 我们可以在中定义一些属性computed部分和一些属性data部分 所有这些都可以通过实例从实例访问this引用 即在同一个对象中 非常
  • jquery Slide切换方向

    我正在尝试滑动 jquery slideToggle 但我无法在单击 div 导航 时添加从左到右或从右到左的方向 请帮帮我 下面是我的代码 div style width 50px div
  • 如何在cypress测试中实现拖放?

    我正在努力测试拖放Cypress https www cypress io and 角度材质拖放 https material angular io cdk drag drop overview 因此 我们的目标是将 开始工作 从 待办事项
  • Nuxt 3文件上传并存储在项目本地

    我想创建一个简单的 Nuxt 3 文件上传实现 将文件存储在本地 Nuxt 项目的文件夹中 在 PHP 中 服务器端代码非常简单直接 但我发现在 Nuxt 3 服务器端做同样的事情很困难 First npm install formidab
  • 在 Cypress 中递增和递减 的值

    我想测试 HTML 输入字段的值的递增和递减 type number 在赛普拉斯 更准确地说 我更喜欢使用箭头键来增加和减少值 但我似乎无法使用最明显的方法来实现这一点 作为一个最小的工作示例 我设置了一个 React 组件 其渲染方法如下
  • 使用 .slideToggle 将隐藏的 div 从底部向上拉

    我似乎无法弄清楚如何从下往上而不是从上往下显示隐藏的内容 我在这里做了一些功课 并遇到了 jQuery UI 的解决方案 但一定是错误地实现了它 非常感谢任何帮助 脚本编写新手 cheers 这是我正在处理的内容 剧本 document r
  • Vue 3:使用渲染函数将所有项目包装在一个自定义组件中

    我正在尝试建立自己的sortable成分 我想将项目列表传递到它的默认插槽 然后 可排序组件应该用自定义包装所有传递的项目v draggable成分
  • 左侧导航菜单上部隐藏

    当滚动到页面最底部时 左侧导航菜单的顶部将被隐藏 The image before scrolling is shown below 滚动后的效果如下图 我不确定此问题的确切原因 因此我将不胜感激任何有关识别和解决该问题的建议或帮助 为了确

随机推荐