如何通过 Cypress 公开 VUE3 应用程序的内部 api?

How can I expose the internal api of a VUE3 application through Cypress?

我是 Cypress 的新手,我偶然发现了一个我无法解决的问题。我试图通过以下设置公开我正在通过 Cypress(应用程序操作)测试的应用程序的内部 api:

const app = createApp(App);

window.ui = 应用程序;

但是当我在赛普拉斯槽中访问它时 cy.window().then(({ win }) => { win.ui... });它没有公开我想访问的功能,而是另一个 window 对象。

我看到我在网上找到的所有示例都是针对 vue2 应用程序的,而我们使用的是 vue3。这可能是问题所在吗?

我设法找到了我试图公开的方法,但它们不在 ui 对象中,而是在以下路径中:

win.ui._context.app._component.__c.components.SidebarRight.__c.methods.toggleSidebarLayout();