Typescript TestCafe默认与命名类
查看TestCafe的页面对象模型,我注意到所有类都标记为Typescript TestCafe默认与命名类,typescript,automated-tests,e2e-testing,testcafe,Typescript,Automated Tests,E2e Testing,Testcafe,查看TestCafe的页面对象模型,我注意到所有类都标记为default,而不是典型的命名类 我想知道这背后的原因是什么,它是否有助于测试控制器的通过和浏览器操作的排队 TestCafe允许您避免显式地将测试控制器传递给方法。相反,您可以将t导入页面模型文件 我想避免像建议的那样使用默认类,但我想知道TestCafe的具体权衡。谢谢。对于TestCafe,不需要使用默认的关键字。此外,它不会影响测试通过或浏览器的操作。这只是一种从带有一个类的模块中导出/导入类的方法。如果您想编写自己的模块,可
default
,而不是典型的命名类
我想知道这背后的原因是什么,它是否有助于测试控制器的通过和浏览器操作的排队
TestCafe允许您避免显式地将测试控制器传递给方法。相反,您可以将t导入页面模型文件
我想避免像建议的那样使用默认类,但我想知道TestCafe的具体权衡。谢谢。对于TestCafe,不需要使用默认的
关键字。此外,它不会影响测试通过或浏览器的操作。这只是一种从带有一个类的模块中导出/导入类的方法。如果您想编写自己的模块,可以使用一个模块和两个类:
页面模型:
import { Selector } from 'testcafe';
export class PageModel1 {
constructor () {
this.h1 = Selector('h1');
this.div = Selector('div');
}
}
export class PageModel2 {
constructor () {
this.body = Selector('body');
this.span = Selector('span');
}
}
测试代码:
import { PageModel1, PageModel2 } from './models';
const pm1 = new PageModel1();
const pm2 = new PageModel2();
test(`Recreate invisible element and click`, async t => {
await t.click(pm1.div);
await t.click(pm1.h1);
await t.click(pm2.body);
await t.click(pm2.span);
});
这只是一个组织代码的问题,这样您就可以以适合自己的方式编写代码