Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aalmiray/testfx-dsl
Java friendly DSL for defining TestFX tests
https://github.com/aalmiray/testfx-dsl
Last synced: 2 months ago
JSON representation
Java friendly DSL for defining TestFX tests
- Host: GitHub
- URL: https://github.com/aalmiray/testfx-dsl
- Owner: aalmiray
- License: other
- Created: 2016-06-16T09:04:09.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-01-08T14:58:33.000Z (almost 8 years ago)
- Last Synced: 2024-05-18T21:38:34.045Z (7 months ago)
- Language: Java
- Size: 58.6 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
- AwesomeJavaFX - TestFX-dsl - Java friendly DSL for defining TestFX tests. (Libraries, Tools and Projects)
README
= TestFX-DSL
:linkattrs:
:project-name: testfx-dsl
:project-version: 0.1.0////
image:http://img.shields.io/travis/aalmiray/{project-name}/master.svg["Build Status", link="https://travis-ci.org/aalmiray/{project-name}"]
image:http://img.shields.io/coveralls/aalmiray/{project-name}/master.svg["Coverage Status", link="https://coveralls.io/r/aalmiray/{project-name}"]
////
image:http://img.shields.io/badge/license-EUPL1.1-blue.svg["EUPL 1.1", link="http://ec.europa.eu/idabc/eupl.html"]
image:https://api.bintray.com/packages/aalmiray/kordamp/{project-name}/images/download.svg[link="https://bintray.com/aalmiray/kordamp/{project-name}/_latestVersion"]---
TestFX-DSL aims to bring DSL capabilities on top of link:https://github.com/TestFX/TestFX[TestFX]. Inspired by
link:http://www.gebish.org/[Geb], this DSL enables a fluent interface design on top of the facilities exposed
by TestFX.Instead of writing code such as
[source, java]
----
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
[source, java]
----
$("#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:[source, java]
----
import static org.kordamp.testfx.QueryChain.$;
----== Installing
You can get the latest version of **TestFX-DSL** directly from link:https://bintray.com[Bintray's JCenter] repository.
[source, groovy]
[subs="verbatim,attributes"]
.Gradle
----
testCompile 'org.kordamp.testfx:testfx-dsl:{project-version}
----[source, xml]
[subs="verbatim,attributes"]
.Maven
----org.kordamp.testfx
testfx-dsl
{project-version}
test
jcenter
http://jcenter.bintray.com/
----
== Building
You must meet the following requirements:
* JDK8u60 as a minimum
* Gradle 2.14You may used the included gradle wrapper script if you don't have `gradle` installed.
=== Installing Gradle
.Manual
. Download Gradle from http://gradle.org/downloads
. Unzip the file into a directory without spaces (recommended).
. Create a GRADLE_HOME environment variable that points to this directory.
. Adjust your PATH environment variable to include $GRADLE_HOME/bin (%GRADLE_HOME%\bin on Windows).
. Test your setup by invoking `gradle --version`..SDKMAN
. Follow the instructions found at http://sdkman.io/ to install SDKMAN.
. You need a POSIX environment if running Windows. We recommend using Babun Shell (http://babun.github.io/)
. Once SDKMAN is installed invoke `sdk install gradle 2.14`.
. 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.. Follow the instructions found at https://github.com/dougborg/gdub to install gdub
=== Next Steps
. Make a full build issuing `gradle build`.