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 浏览器上显示的内容不匹配 的相关文章

  • Vue3 + Vite + Typescript:作用域插槽类型错误

    我有一个包含以下 devstack Vue3 Vite TypeScript 的项目 并且出现以下错误v slot Element implicitly has an any type because expression of type
  • Vue 3 - 从插槽内的子组件发出事件

    我正在考虑升级到 v3 但很失望地看到内联模板已被删除 因此 我尝试转换为使用作用域插槽 我定义了以下列表组件
  • 如何将参数传递给google cloud build中的docker run

    我正在尝试使用 GCB 运行 cypress 管道 但在 docker 内运行时它崩溃了 如描述的那样解决此问题here https github com cypress io cypress issues 350 是运行 docker i
  • Vue 组合 API 使用 VueAxios?

    I am in main js输入vue axios main js import createApp from vue import axios from axios import VueAxios from vue axios impo
  • Cypress - if then 函数

    我对赛普拉斯有疑问 我的页面上有一个元素并不总是出现 什么时候显示 什么时候不显示 没有任何逻辑 在 Cypress 中 是否有一些 IF THEN 函数或其他函数 如何检查元素是否显示 因此填充它 当您没有看到它时 如何跳过该步骤 我的代
  • 如何在 Vue 3 中添加对全局组件的类型支持?

    所以我有Component1
  • cypress 登录后等待重定向

    我正在使用 cypress 测试一个网络应用程序 我登录我的beforeEach功能 然后 在我的不同测试中 我开始cy visit mysite com url 我的问题是登录后 网站重定向到网站的特定页面 此重定向发生在cy visit
  • jQuery Parent().find() 问题

    HTML div class comments a class toggle href Toggle Comment 1 a br div class comment style display none Comment1 div hr a
  • 如何使用 cypress.io 更改数据库中记录的属性

    我是 cypress 的新手 我想知道如何进行以下检查 我有一个案例 我在数据库中有一个产品 其状态可以是 InStock OutOfStock 和 Discontinued 如果产品处于 InStock 状态 我应该能够将其发送给客户 如
  • 运行功能文件时出错:无法遍历依赖图

    我已经安装并尝试配置 Cucumber 预处理器包 以将 Cucumber 实现到现有的 cypress 框架中 但是当我去运行我的功能文件时 我收到以下错误 有任何想法吗 错误 无法遍历依赖关系图 无法从 C Source CoreDev
  • SlideToggle 高度为“跳跃”

    我的 jQueryslideToggle 实验 谁能告诉我为什么我打开盒子时会 跳动 前半部分他们滑动 其余部分他们 跳跃 Thanks 约翰内斯 对我有帮助的是 overflow hidden 到那个切换
  • 预扫描网页进行动态测试

    寻找 JeffTanner 提出的问题的明确答案here https stackoverflow com questions 69095677 cypress adding tests dynamically within a wrap a
  • Cypress 获取 href 属性

    我有一个测试用例 其中有一个在新选项卡中打开的链接 由于 Cypress 不支持多个选项卡 我想获得href该链接的属性 然后在同一选项卡中打开它 我正在尝试这样做 但由于某种原因它不起作用 it Advertise link should
  • Vue 绑定到外部对象

    我正在尝试使用 Vue 作为一个非常薄的层来将现有模型对象绑定到视图 下面是一个玩具应用程序 说明了我的问题 我有一个GainNode https developer mozilla org en US docs Web API GainN
  • 在 javascript 中将响应正文 blob 转换为 json 或纯文本

    在我的 cypress 测试中 我提交了一个请求 在响应中 主体返回为blob 我怎样才能检查some text体内的内容 有什么办法可以转换blob into json or plain text 请参阅随附的屏幕截图 添加下面的测试代码
  • 如何使用 cypress.io 处理 PayPal 弹出窗口上的元素

    我需要自动化端到端测试 包括使用 PayPal 购买订单 此测试包括验证购买订单后出现的屏幕中的某些元素 我目前正在尝试使用 cypress io 我知道赛普拉斯建议不要访问第三方网站 https docs cypress io guide
  • 在cypress中捕获websocket请求

    我试图捕获测试期间发生的所有请求 我的应用程序使用 WebSocket 并且使用拦截命令我无法捕获 wss 请求 有什么办法可以做到这一点吗 我认为拦截命令不能直接捕获网络套接字 一种方法是观察 ws 通信的结果 如下所示使用 Cypres
  • 如何引用 Cypress 配置文件中的环境变量?

    我读了赛普拉斯中的环境变量 https www toolsqa com cypress environment variables in cypress 以及有关在 Cypress 运行中传递环境变量的其他文章 但是 如何引用 JSON 配
  • 从可组合项访问引用值

    这是我的 Vue3 应用程序代码
  • Vue 3 - 如何使用反应式引用并在没有 .value 的情况下进行计算?

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

随机推荐