【问题标题】:Why does Playwright's generated Java code have invalid syntax?为什么 Playwright 生成的 Java 代码语法无效?
【发布时间】: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


    【解决方案1】:
    <dependency>
    <groupId>com.microsoft.playwright</groupId>
    <artifactId>playwright</artifactId>
    <version>1.27.0</version>
    

    我使用了它对我有用的依赖项

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 2011-04-11
      相关资源
      最近更新 更多