为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用已通过浏览器扩展附加到 DOM 的 Cypress.io 选择元素

无法使用已通过浏览器扩展附加到 DOM 的 Cypress.io 选择元素

小唯快跑啊 2023-04-20 16:32:59
我正在尝试使用 Cypress.io 为我的 chrome/firefox 扩展编写测试在我的扩展内容脚本中,我将一个按钮附加到 DOM 的 body 元素并尝试使用 cypress 来单击该按钮,但是在运行测试时,该按钮被注入到测试运行器 DOM,而不是 DOM我的测试通过 cy.visit() 访问的页面 - 所以我的 cy.get('injected element') 调用找不到该元素。看起来 cypress 在 iframe 中加载 cy.visit() 页面,而 cy.get() 无法找到该 iframe 之外的元素。我该如何解决这个问题?
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

将此发布给将来可能遇到相同问题的人。

"all_frames": true您可以通过在扩展 manifest.json 中添加内部 content_scripts 来解决此问题。这允许将扩展注入所有框架,而不仅仅是选项卡的最顶层框架

您也可以仅在运行 cypress 时添加它,方法是在将扩展加载到 cypress 测试运行程序之前修改 manifest.json

- 从扩展构建文件夹中读取清单

-修改content_scripts以包含"all_frames": 'true'

-保存清单的更新版本


查看完整回答
反对 回复 2023-04-20
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信