如何使用 kotlin JS 测试 UI? (例如,页面上有一个元素)

How can I test UI with kotlin JS? (e.g. have an element on a page)

我想测试js项目,用kotlin js写的。
比如测试,点击btn后添加了哪些元素。
我该怎么做?

比如

@Test
fun myTest() {
  when{
     window.onLoad().await()
     window.getElementById("#myBtn").click()
  }
  then {
     window.hasElementById("#myElement")
  }
}

这里可能需要无头浏览器?但是找不到 kotlin 的例子

编写代码所用的语言以及编写此特定代码的语言集成和功能测试所用的语言是两种不同的语言,这两种语言不一定是相同的。然而,通常使用相同的语言进行测试仍然更方便,因为它使某些方面的生活更轻松。

根据我从您提供的代码中看到的情况,我的想法是测试 Web 应用程序。那里有很多选项,但我会停在两个选项上:

Selenium

是最著名和最成熟的 QA 测试框架之一。 Selenium 始终支持用 Java 编写的测试。也就是说,在 Kotlin 中为 Selenium 编写测试实际上是非常简单易行的任务。 Here's an article 如果您决定朝这个方向前进,这可能会对您有所帮助。

尽管如此,了解这一点很重要,在这种情况下,为了重用 Kotlin/JS 中的代码,您很可能必须使其成为多平台的(因为 Selenium Kotlin 代码将是 JVM 代码) .然而,通常很容易分离可由测试重用的代码——很可能是资源、配置等。

Puppeteer

是我们在 javascript 中为 Web 应用程序编写集成测试的少数选项之一。嗯,严格来说,它其实是一个测试Chrome中代码的测试框架。你可以找到很多 examples 用 js 为 Puppetteer 编写的测试,如果你选择用 Kotlin 编写,你只需要引入额外的步骤来编译用 Kotlin 编写的测试 javascript -就像你正确地 "regular" Kotlin/JS 代码一样。