Skip to content

aalmiray/testfx-dsl

Repository files navigation

TestFX-DSL

EUPL 1.1 download


TestFX-DSL aims to bring DSL capabilities on top of TestFX. Inspired by Geb, this DSL enables a fluent interface design on top of the facilities exposed by TestFX.

Instead of writing code such as

clickOn("#showSettingsButton");
JFXDrawer settingsPanel = lookup("#drawer").query();
waitUntil(settingsPanel, isShown(), defaultWaitTimeout());
verifyThat("#username", hasText(defaultUsernameValue));
clickOn("#username").eraseText(defaultUsernameValue.length());
clickOn("#username").write(usernameValue);
verifyThat("#username", hasText(usernameValue));

write it like this

$("#showSettingsButton")
    .click()
.$$("#drawer")
    .waitUntil(isShown(), defaultWaitTimeout())
.$$("#username")
    .verifyThat(hasText(defaultUsernameValue))
    .click()
    .eraseText(defaultUsernameValue.length())
    .write(usernameValue)
    .verifyThat(hasText(usernameValue));

The DSL allows you to chain method calls and remember the last NodeQuery made. It’s easy to get started, just add the following import statement to your test case:

import static org.kordamp.testfx.QueryChain.$;

Installing

You can get the latest version of TestFX-DSL directly from Bintray’s JCenter repository.

Gradle
testCompile 'org.kordamp.testfx:testfx-dsl:0.1.0
Maven
<dependency>
    <groupId>org.kordamp.testfx</groupId>
    <artifactId>testfx-dsl</artifactId>
    <artifactId>0.1.0</artifactId>
    <scope>test</scope>
</dependency>

<repositories>
    <repository>
        <id>jcenter</id>
        <url>http://jcenter.bintray.com/</url>
    </repository>
</repositories>

Building

You must meet the following requirements:

  • JDK8u60 as a minimum

  • Gradle 2.14

You may used the included gradle wrapper script if you don’t have gradle installed.

Installing Gradle

Manual
  1. Download Gradle from http://gradle.org/downloads

  2. Unzip the file into a directory without spaces (recommended).

  3. Create a GRADLE_HOME environment variable that points to this directory.

  4. Adjust your PATH environment variable to include $GRADLE_HOME/bin (%GRADLE_HOME%\bin on Windows).

  5. Test your setup by invoking gradle --version.

SDKMAN
  1. Follow the instructions found at http://sdkman.io/ to install SDKMAN.

  2. You need a POSIX environment if running Windows. We recommend using Babun Shell (http://babun.github.io/)

  3. Once SDKMAN is installed invoke sdk install gradle 2.14.

  4. Test your setup by invoking gradle --version.

Gdub

GDub is a wrapper script that facilitates invoking gradle tasks anywhere within a Gradle project. It’s smart enough to use the gradle wrapper if available or your global gradle command. This is an optional download.

  1. Follow the instructions found at https://github.com/dougborg/gdub to install gdub

Next Steps

  1. Make a full build issuing gradle build.

About

Java friendly DSL for defining TestFX tests

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages