TestCafe-TestCafe和应用程序之间的共享单例



我有一个使用Vue运行的应用程序,我正在使用testcafe进行端到端测试。

MyModule.ts

class MyModule {
public value: string;
constructor() {}
}
export default new MyModule();

测试咖啡馆文件

import MyModule from '../models/utils/MyModule';
fixture('Getting Started')
.page('http://localhost:8080/en/home/')
.before(async (ctx) => {
MyModule.value = 'Set by Test Cafe';
});
test('Get to the home page', async (t) => {
....
});

应用.vue

<template>.....</template>
<script>
import TeMyModulestModule from '@/test/e2e/models/utils/MyModule';
export default {

created() {
console.log('MyModule.value', MyModule.value);
}
}
</script>

实际结果

MyModule.value未定义

预期结果

MyModule.value"由测试咖啡馆设置">

问题

有可能通过testCafe实现这一点吗?如果是这样,我做错了什么?

TestCafe测试夹具是一个常规的node.js脚本,它在服务器端执行。您正在尝试在不同的上下文(node.js服务器端和浏览器客户端(之间共享模块。

您可以使用ClientFunction或Inject-Client Scripts方法将指定的值放入全局window对象中,并从Vue脚本中获取该值。

相关内容

  • 没有找到相关文章

最新更新