赛普拉斯,一体化测试框架和断言库,包括自动等待,请求模拟和请求存根
我应该如何升级依赖preserveOnce beforeEach的Cypress测试?
我在使用 Cypress 版本 8 的 Cypress 测试中使用了这段代码: 每个之前(()=> { Cypress.Cookies.preserveOnce( 'csrftoken', '会话ID', // ...其他cookie... ) }) 现在我
我几天前刚刚通过 Udemy 开始学习 Cypress。我正在学习自定义命令,导师创建了一个自定义命令 Cypress.Commands.add('getbyId',(选择器) => 返回 cy....
我想知道是否可以使用 Cypress 的内置功能 .as 来存储一些随机生成的文本,然后对其进行验证。我尝试了各种方法来处理这个问题,但我不能......
Cypress 中针对 GitHub Actions CI 上的 Vue 3 SPA 的重定向问题
我在使用 Cypress 在单页应用程序 (SPA) 中测试路由时遇到问题,特别是在持续集成 (CI) 环境中运行测试时。尽管事实上...
我有一个用 Node.js 8.9.4 版本和旧 Angular 制作的旧项目,我想使用 Cypress 开始一个基本的自动化过程,但在安装时它声称不兼容,因为......
如何在 Cypress 测试用例中执行 ngOnInit 中的代码之前等待 Angular 组件初始化
我正在为 Angular 应用程序编写 Cypress 测试用例,我需要确保某些代码(特别是 Angular 组件的 ngOnInit 生命周期挂钩中存在的代码)之前已执行
在 cypress.json 中有一个名为“retries”的选项,它定义了失败测试的重试次数。 我编写测试的方式之间存在某种关系
如何在Cypress中确认opnseadragon镜像已加载?
我正在 Cypress 中为 openseadragon 反应组件编写单元测试。 opneseadragon 中是否有一个选项可以知道图像已加载。 反应组件是 const { DEV } = import.meta.env; 接口
我有一个包含这样的列的表格(简化): | ... | ... | Venter på søker | ... | | ... | ... | Ikke påbegynt | ... | 该表有 21 行。 有问题的列可以排序
我有一个包含这样的列的表格(简化): | ... | ... | Venter på søker | ... | | ... | ... | Ikke påbegynt | ... | 该表有 21 行。 有问题的列可以排序
从 Cypress 中已弃用的 Moment 转到 DayJS 时,我遇到了语言环境问题。 原始 Moment() 用法: 公共时刻():时刻{ const moment = Cypress.moment(); 时刻。
从 Cypress 中已弃用的 Moment 转到 DayJS 时,我遇到了语言环境问题。 原始 Moment() 用法: 公共时刻():时刻{ const moment = Cypress.moment(); 时刻。
Cypress 在经过 Clerk 身份验证的登录页面中收到 401
我有一个网站,其中登录是通过文员完成的。当尝试使用 Cypress 进行测试时,我面临登录页面返回 401 的问题。 当在隐身窗口中测试它时,我看到了正确的
如何在访问本地主机上运行的 React 应用程序之前在 Cypress 中设置 cookie
我想采取的步骤是: 启动 Cypress 测试套件并使用 cy.setCookie 设置 JSESSIONID cookie(已获取且是最新的) 设置好cookie后,然后使用cy.visit访问...
尝试使用 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');
在我的赛普拉斯测试中,我有一个包含日期的字段,我希望它对于测试运行日期是动态的。 我尝试这样处理: 导出常量拦截GetEntity = () => { cy.intercept('G...
Cypress Vue 组件测试在导入 Ref 类型时崩溃(不提供名为“Ref”的导出)
我编写了一个赛普拉斯组件测试,它只需安装我的组件并断言它存在。该组件本身导入了 Vue 的 Ref 类型,并且也被定义为 TypeScript 组件。 运行时...
我正在尝试验证滑块内的图像属性。奇怪的是,我的测试一次成功,另一次失败。 这是我的代码: it('验证图像属性', () => { ...
我想将鼠标悬停在具有 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')
我正在尝试测试 cypress 中弹出窗口/模式的内容。我的第一直觉是重复命令来获取模态元素,如下所示: it('过滤模式/弹出窗口', () => { cy.get('.some-