Build Status License Dependencies Coverage Status


PageObject is a Page Object Pattern implementation written in Scala.

PageObject is a free, open-source (Apache Licence v2) extension for test runners implementing the Page Object Pattern. Currently only ScalaTest 3 is supported, but other testing frameworks should be easy to add.

Design Goals

The PageObject library was developed with this goals in mind:

PageObject Tour

We created an overview presentation showing you how to use PageObject to create tests using ScalaTest:


You can find the Changelog here:

Using PageObject

The current version of PageObject is 0.3.0. This Version is available at maven central.

Scala versions 2.11.x and 2.12.x are supported.

To use PageObject, add this lines to yours build.sbt:

libraryDependencies += "org.pageobject" %% "scalatest" % "0.3.0"

Selenium 3

pageobject requires Selenium 3. Because Selenium 3 requires Java 8 pageobject also requires Java 8.


You can also use maven to run your tests. See maven-howto for a small maven howto.

Download PageObject

The code is hosted and developed in the PageObject GitHub repository.

Development Snapshots

If you want to use a development version you can find a list of all snapshot versions here. Alternative you can checkout this repository and run $ sbt publishLocal if you want to modify or try it out.

If you want to use a SNAPSHOT version add this lines to your build config:

sbt build.sbt

resolvers += "Sonatype OSS Snapshots" at ""
libraryDependencies += "org.pageobject" %% "scalatest" % "0.4.0-SNAPSHOT"

maven pom.xml

    <!-- to allow snapshot versions -->