cypress 相关问题

赛普拉斯,一体化测试框架和断言库,包括自动等待,请求模拟和请求存根

我应该如何升级依赖preserveOnce beforeEach的Cypress测试?

我在使用 Cypress 版本 8 的 Cypress 测试中使用了这段代码: 每个之前(()=> { Cypress.Cookies.preserveOnce( 'csrftoken', '会话ID', // ...其他cookie... ) }) 现在我

回答 1 投票 0

Cypress 主题自定义命令在运行时返回语法错误

我几天前刚刚通过 Udemy 开始学习 Cypress。我正在学习自定义命令,导师创建了一个自定义命令 Cypress.Commands.add('getbyId',(选择器) => 返回 cy....

回答 1 投票 0

Cypress 使用 .as(别名)来存储和验证伪造文本

我想知道是否可以使用 Cypress 的内置功能 .as 来存储一些随机生成的文本,然后对其进行验证。我尝试了各种方法来处理这个问题,但我不能......

回答 1 投票 0

Cypress 中针对 GitHub Actions CI 上的 Vue 3 SPA 的重定向问题

我在使用 Cypress 在单页应用程序 (SPA) 中测试路由时遇到问题,特别是在持续集成 (CI) 环境中运行测试时。尽管事实上...

回答 1 投票 0

我如何在旧项目上使用 cypress?

我有一个用 Node.js 8.9.4 版本和旧 Angular 制作的旧项目,我想使用 Cypress 开始一个基本的自动化过程,但在安装时它声称不兼容,因为......

回答 1 投票 0

如何在 Cypress 测试用例中执行 ngOnInit 中的代码之前等待 Angular 组件初始化

我正在为 Angular 应用程序编写 Cypress 测试用例,我需要确保某些代码(特别是 Angular 组件的 ngOnInit 生命周期挂钩中存在的代码)之前已执行

回答 1 投票 0

如何在 Cypress 中重试整个规范而不是单个规范?

在 cypress.json 中有一个名为“retries”的选项,它定义了失败测试的重试次数。 我编写测试的方式之间存在某种关系

回答 2 投票 0

如何在Cypress中确认opnseadragon镜像已加载?

我正在 Cypress 中为 openseadragon 反应组件编写单元测试。 opneseadragon 中是否有一个选项可以知道图像已加载。 反应组件是 const { DEV } = import.meta.env; 接口

回答 1 投票 0

Cypress - 验证列表(列)的字母顺序排序[关闭]

我有一个包含这样的列的表格(简化): | ... | ... | Venter på søker | ... | | ... | ... | Ikke påbegynt | ... | 该表有 21 行。 有问题的列可以排序

回答 1 投票 0

验证列表(列)按字母顺序排序

我有一个包含这样的列的表格(简化): | ... | ... | Venter på søker | ... | | ... | ... | Ikke påbegynt | ... | 该表有 21 行。 有问题的列可以排序

回答 1 投票 0

用dayjs替换moment()

从 Cypress 中已弃用的 Moment 转到 DayJS 时,我遇到了语言环境问题。 原始 Moment() 用法: 公共时刻():时刻{ const moment = Cypress.moment(); 时刻。

回答 1 投票 0

Cypress - 用 dayjs 替换 moment()

从 Cypress 中已弃用的 Moment 转到 DayJS 时,我遇到了语言环境问题。 原始 Moment() 用法: 公共时刻():时刻{ const moment = Cypress.moment(); 时刻。

回答 1 投票 0

Cypress 在经过 Clerk 身份验证的登录页面中收到 401

我有一个网站,其中登录是通过文员完成的。当尝试使用 Cypress 进行测试时,我面临登录页面返回 401 的问题。 当在隐身窗口中测试它时,我看到了正确的

回答 1 投票 0

如何在访问本地主机上运行的 React 应用程序之前在 Cypress 中设置 cookie

我想采取的步骤是: 启动 Cypress 测试套件并使用 cy.setCookie 设置 JSESSIONID cookie(已获取且是最新的) 设置好cookie后,然后使用cy.visit访问...

回答 4 投票 0

尝试使用 Cypress 中的 Vue 3 模板获取表中的第二个元素

在我的 cypress 测试中,我尝试从 vue 模板访问表中的第二个元素: ... 在我的 cypress 测试中,我尝试从 vue 模板访问表中的第二个元素: <template> <table id="table" class="table" data-cy="table"> <thead class="table-head" data-cy="table-head"> <tr class="table-row" data-cy="table-row"> <th id="table-updatable" v-show="massUpdatable" class="table-cell" data-cy="table-head-updatable"> <input type="checkbox" data-cy="table-head-checkbox"/> </th> <th id="table-head-icons" data-cy="table-head-cell" class="table-cell" :class="orderClasses(column.order_by)" v-for="(column, columnKey) in props.columns" @click="orderTable(column.order_by)" :key="columnKey" > <div class="table-header" data-cy="table-header-div"> {{ $t(column.name) }} <font-awesome-icon data-cy="table-icon-arrowUp" class="asc" :icon="['fas', 'arrow-up']" fixed-width ></font-awesome-icon> <font-awesome-icon data-cy="table-icon-arrowDown" class="desc" :icon="['fas', 'arrow-down']" fixed-width ></font-awesome-icon> </div> </th> <th data-cy="table-icon-actions" class="table-cell actions-cell" :class="'actions-amount-' + filteredActionsLength(false)" v-if="Object.keys(props.actions).length > 0" ></th> </tr> </thead> <tbody class="table-body" data-cy="table-body" :class="fullPage ? 'table-body-full' : ''"> <tr class="table-row" v-for="(row, rowKey) in rows" :key="rowKey" :class="row.deleted_at ? 'archived' : ''" > <td data-cy="table-data-updatable" v-show="massUpdatable" class="table-cell"> <input type="checkbox" /> </td> <td data-cy="table-data-cell" class="table-cell" v-for="(column, columnKey) in props.columns" :key="columnKey" > <table-boolean-column data-cy="table-boolean-column" v-if="column.type === 'boolean'" :value="row[columnKey]" ></table-boolean-column> <table-event-column data-cy="table-event-column" v-else-if="column.type === 'event'" :value="row[columnKey]" > </table-event-column> <template v-if="column.type === 'date'"> {{ row[columnKey] !== undefined ? row[columnKey].toLocaleDateString() + " " + row[columnKey].toLocaleTimeString() : "" }} </template> <template v-else> {{ parseValue(row[columnKey]) }} </template> </td> <td class="table-cell actions-cell" :class="'actions-amount-' + filteredActionsLength(row)" v-if="Object.keys(props.actions).length > 0" > <template v-for="(action, actionKey) in filteredActions(row)"> <table-button data-cy="table-button" v-if="showButtons(row) || action.action === 'showMetadata'" @click="executeAction(action.action, row.id)" :key="actionKey" :icon="action.icon" :type="action.type" v-on:load-data="loadData" :content="$t(action.tooltip)" > </table-button> </template> </td> </tr> <tr data-cy="table-row-isLoading" v-if="isLoading" class="table-row"> <div class="loader" data-cy="loader-loading"> {{ $t("message.loading") }} <font-awesome-icon :icon="['fad', 'spinner-third']" class="loading-icon" fixed-width /> </div> </tr> <tr v-if="lastPageLoaded" data-cy="table-row-lastPage" class="table-row"> <div class="loader" data-cy="loader-endPage"> {{ $t("message.final") }} <font-awesome-icon :icon="['fad', 'check']" class="success-icon" fixed-width /> </div> </tr> </tbody> </table> </template> 我正在尝试检查 font Awesome 图标是否确实出现 我做了以下无济于事: it('has fa arrow icons', () => { cy.mount(TableList2, { props: { actions: true, massUpdatable: undefined, columns: true, rows: true, isLoading: false, lastPageLoaded: true, fullPage: true } }) cy.get('[data-cy="table-head"] th[data-cy="table-head-cell"]') .eq(1) // Select the second <th> element (index is zero-based) .find('font-awesome-icon') // Find Font Awesome icons within the second <th> .should('have.length.gt', 0); // Assert that at least one Font Awesome icon exists 我在这里缺少什么,它希望找到它,但从未找到.. 我还想看看在升序时它是否出现,在降序时,字体默认不可见,仅在单击时可见。 您的选择器太具体了: cy.get('[data-cy="table-head"] th[data-cy="table-head-cell"]') 上述查询仅产生一个 <th>,因为只有一个带有 data-cy="table-head-cell"。 所以 .eq(1) 失败了,如果你试图从一个列表中找到第二个。 其中任何一个都可以代替 cy.get('[data-cy="table-head"] th[data-cy="table-head-cell"]') .find('font-awesome-icon'); // .should('have.length.gt', 0) // redundant assertion 或 cy.get('[data-cy="table-head"] th') .eq(1) .find('font-awesome-icon');

回答 1 投票 0

动态更改 cypress 装置中的日期

在我的赛普拉斯测试中,我有一个包含日期的字段,我希望它对于测试运行日期是动态的。 我尝试这样处理: 导出常量拦截GetEntity = () => { cy.intercept('G...

回答 1 投票 0

Cypress Vue 组件测试在导入 Ref 类型时崩溃(不提供名为“Ref”的导出)

我编写了一个赛普拉斯组件测试,它只需安装我的组件并断言它存在。该组件本身导入了 Vue 的 Ref 类型,并且也被定义为 TypeScript 组件。 运行时...

回答 2 投票 0

使用延迟加载时如何测试图像加载

我正在尝试验证滑块内的图像属性。奇怪的是,我的测试一次成功,另一次失败。 这是我的代码: it('验证图像属性', () => { ...

回答 1 投票 0

如何使用cypress选择带有标题的svg元素?

我想将鼠标悬停在具有 main 类的 div 元素内的 svg 元素上。该 svg 元素具有标题标签 Header 元素 这是代码: 我想将鼠标悬停在类为 svg 的 div 元素内的 main 元素上。这个 svg 元素有标题标签 Header element 这是代码: <div class="main"> <div class="box"> <div class="cell"></div> <div class="cell"></div> <div class="cell"> <div> <svg></svg> <span> //want to hover on this element <svg> <title>Header element</title> </svg> </span> </div> </div> </div> </div> 从上面的代码中可以看出,我想将鼠标悬停在 span 元素上,该元素包含标题为 svg 的 Header element。 我尝试过使用代码: cy.get(`.main>div`) .contains('svg', 'Header element') .trigger('mouseover') 但这不起作用。 有人可以帮我使用 Cypress 找到这个 span 元素吗?谢谢。 您正在选择 svg 但想要悬停跨度,因此添加父选择器 cy.get(`.main>div`) .contains('svg', 'Header element') .parent('span') .trigger('mouseover') 我认为你错过了.(类选择器) cy.get(`.main>div`) .contains('svg', 'Header element') .triggers('mouseover')

回答 2 投票 0

如何从 cypress 中的单个元素查询多个内容

我正在尝试测试 cypress 中弹出窗口/模式的内容。我的第一直觉是重复命令来获取模态元素,如下所示: it('过滤模式/弹出窗口', () => { cy.get('.some-

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.