cypress 相关问题

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

如何等待API json响应中的某个值

我正在研究 Cypress API,试图获得特定的响应,但问题是我需要等到获得特定的响应,与之前的响应不同。 例如,重复直到...

回答 2 投票 0

通过命令行传递formId进行测试运行

我正在编写一些赛普拉斯测试用例,并一直在尝试找出简化它的最佳方法。假设我有 10 个表单,所有表单都具有完全相同的字段。而不是创建一个新的 .cy.js ...

回答 3 投票 0

如何在自动化测试的文件夹系统中构建测试用例?

假设您有一个简单的待办事项列表应用程序,具有登录功能和带有日历的侧边栏。你正在使用 Playwright 或 Cypress 或其他什么。 你的文件夹结构是这样的吗? 源代码 t...

回答 1 投票 0

如何使用用户提供的变量运行 cypress 脚本

我有在不同环境下运行的 cypress 脚本,规范文件如下所示 描述('白标登录', () => { it('白标登录', () => { 常量whitelabelBaseUrl =

回答 1 投票 0

如何运行有头但没有 GUI 运行器的 cypress 脚本

我想使用命令 npx cypress run --headed 在 head 模式下运行脚本,而无需测试运行器 GUI。自从我与 Cypress 合作已经一年了,我记得它曾经是这样运行的......

回答 1 投票 0

使用 Cypress Headless 时如何查看 `cy.log` 输出?

当无头运行 Cypress 时,我可以使用 DEBUG 环境变量看到测试中的前端代码的 console.log 输出,例如: DEBUG='cypress:launcher' npx cypress run --browser chr...

回答 2 投票 0

动态赛普拉斯测试

我正在编写一些赛普拉斯测试用例,并一直在尝试找出简化它的最佳方法。假设我有 10 个表单,所有表单都具有完全相同的字段。而不是创建一个新的 .cy.js ...

回答 1 投票 0

如何在 cypress 中创建可链接的 `if...()` 命令?

假设我有一个可变的用户名。 现在,我的可链接函数想要检查用户名是否为空。 前: if(用户名!== "") { cy.get('#用户名').type(用户名) } 船尾...

回答 3 投票 0

Cypress testIsolation 属性的类型

Cypress 12 中引入了一个名为 testIsolation 的属性。我目前正在从 11 升级到 13。该属性显然是一个字符串: (属性) testIsolation?: "on" | ...

回答 1 投票 0

无法使用 cypress 切换到新选项卡或窗口更改内容 - Javascript

更改内容 - Javascript <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Change Content - Javascript</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="robots" content="noindex, nofollow"> <meta name="googlebot" content="noindex, nofollow"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> </head> <body> <a id="myelement" href="javascript:void(0);" onclick="openNewTab()" "="">Open New Tab </a> <script type="text/javascript">//<![CDATA[ function openNewTab() { window.openNew({ target:'test_blank', url: 'https://www.google.co.in/' }); } function openNew(option) { const form = document.createElement("form"); form.target = option.target || "_blank"; form.action = option.url; form.method = "GET"; document.body.appendChild(form); form.submit(); //debugger; $(form).remove(); } //]]> </script> </body> </html> 我有一种情况,我必须单击一个链接,打开一个新选项卡/窗口,由于 cypress 不支持多个选项卡,我找到了下面的解决方法,但它不起作用,它打开新选项卡,但无法切换新选项卡,我的测试失败并出现错误: 预期重定向至少被调用一次,但从未被调用过。 cy. visit('https://qa.abc.com/xyz/documents?action_id=1'); cy .window().then((win) => { cy.spy(win, 'open').as('redirect'); }); cy .get(':nth-child(1) > [style="width: 228px;"] > .text-ellipsis') .click(); cy .get('@redirect') .should('be.called'); 注意: 重定向的 url 是动态的并与 javascript 绑定,因此无法从控制台获取 url 也无法从链接中删除该属性。 这是随附的屏幕截图:在此处输入图像描述 上面是示例 HTML 文件,它复制了该问题: 重定向非常不寻常。 您可以通过在页面加载时使用拦截来阻止新选项卡。 另一个拦截将验证重定向是否转到正确的 URL。 it('tests a funky redirect', () => { const baseUrl = Cypress.config('baseUrl') cy.intercept('GET', baseUrl, (req) => { req.continue(res => { res.body = res.body.replace( 'form.target = option.target || "_blank";', 'form.target = "_self";' // prevent tab opening ) }) }) cy.visit(baseUrl); cy.intercept('GET', '**/www.google.co.in/*').as('newTab') cy.get('a').click() cy.wait('@newTab').then(interception => { expect(interception.request.url).to.include('www.google.co.in') }) cy.go('back') // previous location }); This approach will also work for redirecting for multiple redirection and when the you are redirected to other page by clicking on a button and not anchor, or when anchor does not have target property, it('Redirect', () => { let applicationsLinks=[]; cy.stub(win,'open').as('windowOpen').callsFake((url)=>{ applicationsLinks.push(url); }); cy.visit(baseUrl); cy.get('a').click(); cy.get('@windowOpen').should('be.called'); cy.then(()=>{ applicationsLinks.forEach((link,index)=>{ cy.visit(link); }); }); });

回答 2 投票 0

使用 cy.visit() 打开页面后测试未运行

测试不会在以下时间后运行: cy.visit('http://tombo-urgent-care.web.app/') Cypress 只需作为浏览器打开此页面,这样我就可以手动与其交互。如果我尝试另一个页面,例如YouTube - 它适用于...

回答 1 投票 0

Cypress 中“之前”的误解

我是 Cypress 的新手,我正在尝试测试我的主页。 before 和 beforeEach 函数的工作方式与 Cypress 在我的项目中描述的方式不同。根据赛普拉斯的说法: 之前(() => { /...

回答 1 投票 0

从 API 请求到输入输入值期间出现赛普拉斯错误 [已关闭]

当我尝试输入 OTP 代码(我从 API 获取)时,Cypress 显示错误 cypress 屏幕截图 cy.get('input[data-placeholder="OTP"]').type(getOtpCode(phoneNumber)) 函数 getOtpCode...

回答 2 投票 0

使用Cypress.IO在CKeditor 4上设置数据

我正在使用 cypress 来自动化我的项目。我有CKeditor4。 所以我尝试用下面的代码在 CKEditor 中输入,因为 cypress 中的输入方法非常慢 it('确实有效2', async() => { cy.visit('...

回答 1 投票 0

如何编写一个函数来检查按钮是否被禁用

我想编写一个函数,可用于检查搜索按钮是否已停用。 如果搜索按钮已停用,则执行后续步骤 - 填写搜索字段...

回答 4 投票 0

我可以捕获 CypressError(测试失败)来尝试另一个测试吗?

我正在赛普拉斯测试支付屏幕。我们有两个第三方支付系统,当用户付款时,他们会从我的网站转到支付提供商,然后返回我的网站。为了目的...

回答 1 投票 0

Cypress - Cucumber - JsonPath - 错误:无法遍历依赖关系图:无法从

我正在建立一个打字稿-柏树-黄瓜项目。在我的项目中,我需要使用jsonPath来分析数据。但是,它不能一起工作。它显示错误: 错误:无法行走依赖图:

回答 1 投票 0

赛普拉斯比较数值

我想测试一个订单,我想将多个添加到购物车字段与购物车进行比较。 这是一个网页 - https://demo.nopcommerce.com/build-your-own-computer 让 numOfNotification...

回答 1 投票 0

如何在cypress中制作可链接的命令?

假设我有一个可变的用户名。 现在,我的可链接函数想要检查用户名是否为空。 前: if(用户名!== "") { cy.get('#用户名').type(用户名) } 船尾...

回答 3 投票 0

cypress-tags 和 cypress 运行都无法仅执行 cypress-cucumber 框架中的标记测试用例

我尝试使用 cypress-tags 和 cypress run 命令来执行标记的测试用例,但都失败了。有人可以指导解决方案吗? 依赖版本: “@badeball/cypress-cucumber-preprocessor&q...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.