使用 PlayWright 和 TypeScript 进行 QA 工作 尝试避免在规范文件中像
defaultPage = new defaultPage(page);
这样的额外导入只是为了减少代码行并使测试更加漂亮。
new DefaultPage()
下划线为 预期 1 个参数,但得到 0.ts(2554) 这是因为构造函数有一个参数 page: Page
并且导出也寻找参数,但我无法弄清楚它要求的确切参数是什么为了?
import { Page, Locator } from '@playwright/test';
import { basePage } from "../defaultPeage";
export class DefaultPage extends extraPage {
readonly page: Page;
readonly defaultButton: Locator;
constructor(page: Page) {
super(page);
this.page = page;
this.defaultButton = page.locator("[type='default']");
}
}
export default new DefaultPage(); // <- Expected 1 arguments, but got 0.ts(2554) under new DefaultPage()
如果从构造函数中删除arg或将文件重命名为JS错误就会消失,但绝对不是这样。尝试将所有可以想象到的参数添加到
Default Page()
但没有任何帮助
您尝试导出
DefaultPage
的实例,但没有向构造函数提供任何内容,尽管它有一个 page: Page
参数,且是 required。
要么将此参数标记为可选,这样您就可以在不使用参数的情况下实例化它 (
new DefaultPage()
),或者只是将实例化委托给您实际需要该对象的位置,以便您可以安全地为 page
提供实际值。