我需要在 cypress 测试中访问我的 vuex 存储,所以我将应用程序添加到我的 main.js 中的 window 对象:
const app = new Vue({
router,
store,
render: h => h(App)
}).$mount("#app");
window.vueApp = app;
Run Code Online (Sandbox Code Playgroud)
然后我尝试在我的登录命令(commands.js)中访问它:
cy
.request({
method: "POST",
url: "http://localhost:8081/api/v1/login",
body: {},
headers: {
Authorization: "Basic " + btoa("administrator:12345678")
}
})
.then(resp => {
console.log("app:", window.vueApp);
...
window.localStorage.setItem("aq-username", "administrator");
});
Run Code Online (Sandbox Code Playgroud)
但它总是未定义,我做错了什么?
window您使用的是 cypress runner window。如果要访问windowAUT(被测应用程序)的 ,请使用cy.window()命令。
或者您可以使用cy.state('window')which 同步返回 window 对象,但这是未记录的,将来可能会更改。
相关:如果您想在开发控制台中访问您的 AUT,您需要将上下文切换到Your app...:
| 归档时间: |
|
| 查看次数: |
1239 次 |
| 最近记录: |