Cypress 不会打开按钮来输入表单

问题描述 投票:0回答:1

Chrome vs Cypress

Click focus

使用赛普拉斯13.3.0

所以我尝试执行 .click( {force: true} ) 以及所有这些,甚至尝试在其上使用 .trigger('click') ,但它似乎没有打开表单,因此下一行可以得到并在其中输入。赛普拉斯显示的光标集中在它上面并发出咔嗒声,但它似乎没有去任何地方。当我研究 HTML 元素时,它似乎在按钮之外加载了一个全新的区域。知道如何解决这个问题吗?

//image upload
cy.findByText(/Add existing Image/i).click({ force: true });
cy.get( //This wont open
'#edit-field-pac-publication-image-form-0-entity-id--wruseI7wRoU'
).type('test_0.jpeg (434)');
javascript html cypress web-testing cypress-testing-library
1个回答
0
投票

假设您使用的是 iframe,请参见下文。

跨源 iframe (Cypress)

如果您的网站嵌入了跨域框架,Cypress 将无法自动化或与之通信。

嵌入 Vimeo 或 YouTube 的跨域 iframe 的使用示例 视频。显示 Stripe 或 Braintree 的信用卡表格。 显示来自 Auth0 的嵌入式登录表单。显示评论来自 讨论。 Cypress 实际上可以容纳这些 情况与 Selenium 相同,但你永远不会有本机 从 Cypress 内部访问这些 iframe。

作为解决方法,您可以直接使用 window.postMessage 与这些 iframe 通信并控制它们(如果第 3 方 iframe 支持)。

除此之外,您还需要等待我们实现 API 来 支持这一点(检查我们的开放问题),或者您可以禁用网络安全。

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