【发布时间】:2022-10-24 06:41:40
【问题描述】:
当我使用 Playwright 的 codegen 功能时,它会将我的点击路径跟踪到 Java 文件中。但是创建的文件有错误的语法,所以我无法编译它。
我开始代码生成:
mvn exec:java -e -Dexec.mainClass=com.microsoft.playwright.CLI -Dexec.args="codegen wikipedia.org"
检查员提供以下代码:
public class Example {
public static void main(String[] args) {
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()
.setHeadless(false));
BrowserContext context = browser.newContext();
page.navigate("https://en.wikipedia.org/wiki/Main_Page");
page.getByPlaceholder("Search Wikipedia").click();
page.getByPlaceholder("Search Wikipedia").fill("stackoverflow");
page.getByRole("button", new Page.GetByRoleOptions().setName("Go")).click();
assertThat(page).hasURL("https://en.wikipedia.org/wiki/Stack_Overflow");
}
}
}
但是已经出现了第一个错误。方法getByRole 需要一个AriaRole 作为它的第一个参数,而不是一个字符串。所以很容易修复,但我认为生成代码并让开发人员修复它不是产品的想法。
在一些 YouTube 教程中,检查器仅生成带有强大选择器的填充和单击功能。
有没有办法将生成的输出更改为特定的“代码样式”?或者还有其他原因为什么其他人得到很好的工作代码而我没有?
我的依赖:
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.27.0</version>
</dependency>
【问题讨论】:
标签: java testing playwright playwright-java