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.8"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)
- 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, )lazy val pwenvConfig = Def.setting { jsenv.playwright.PWEnv .Config() .withKeepAlive(false) } jsEnv := new jsenv.playwright.PWEnv( browserName = "chrome", headless = true, showLogs = true, pwenvConfig.value, ) 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
- Add examples to demonstrate how to use LaunchOptions
Add feature to keepAlive the browser- Optimize to use a single browser instance for all tests by creating multiple tabs
Configure github actions to test this project- Configure github actions to publish to maven central
- Verify debug mode works
- Verify other test frameworks work
- Verify it works on windows and Linux