A JavaScript environment for Scala.js (a JSEnv) running playwright
Add the following line to your project/plugins.sbt
// For Scala.js 1.x
libraryDependencies += "io.github.gmkumar2005" %% "scala-js-env-playwright" % "0.1.11"
Add the following line to your build.sbt
Test / jsEnv := new PWEnv(
browserName = "chrome",
headless = true,
showLogs = true
)
- This is a very early version. It may not work for all projects. It is tested on chrome/chromium and firefox.
- Few test cases are failing on webkit. Keep a watch on this space for updates.
- It works only with Scala.js 1.x
- Make sure the project is set up to use ModuleKind.ESModule in the Scala.js project.
// For Scala.js 1.x scalaJSLinkerConfig ~= { _.withModuleKind(ModuleKind.ESModule) }
- Some projects which may need to use both Selenium and Playwright.
If it runs into google exception, add the following line to your
plugins.sbt
libraryDependencies += "com.google.guava" % "guava" % "33.0.0-jre"
- chrome
- chromium (same as chrome)
- firefox
- webkit (experimental) - Works will on macOS. Mileage may vary on other platforms.
- This library can be used with any scala version 2.x and 3.x
- This project is compiled with scala 2.12.18
- This library can be used with any sbt version 1.x
- This library can be used with playwright version 1.40.0
"com.microsoft.playwright" % "playwright" % "1.40.0"
- This library is tested on JDK11 and JDK21
jsEnv := new jsenv.playwright.PWEnv(
browserName = "chrome",
headless = true,
showLogs = false,
)
It is work in progress. As a workaround introducing delay in the test cases may help to keep the browser alive.
debug parameter can be passed to the PWEnv constructor to enable debugging. It will also display the version of the browser which is used.
Test / jsEnv := new PWEnv(
browserName = "chrome",
headless = true,
showLogs = true,
debug = true
)
Watch this space for more details on how to use this library.
- Sample project using this JSEnv: https://github.com/gmkumar2005/scalajs-sbt-vite-laminar-chartjs-example
- Fork of Laminar: https://github.com/gmkumar2005/Laminar