How do I execute GUI tests locally?


(Karsten "Sammann" Hiekmann) #1

I am interested in running all tests locally, including GUI ones.

When starting “Run Test…” from IntelliJ, the only test-package that does not pass, is jabref/src/test/java/org/jabref/gui. Most of its tests throw java.lang.IllegalStateException: Application launch must not be called more than once.
Running these tests, jabref starts once, but nothing happens to the GUI, hence I close it and further ui-tests fail as described above. I am unsure what to do here. [1]

I then consulted, advising me to run gradlew integrationTest, instead. Unfortunately, this results in

FAILURE: Build failed with an exception.
* What went wrong:
Task 'integrationTest' not found in root project 'JabRef'

Indeed, I cannot find an integrationTest task in build.gradle.

Therefore, I wonder what the state of running UI-tests is. In what forms may I contribute to automatically testing them?

[1]: This is the other error I get: Prism-ES2 Error : GL_VERSION (major.minor) = 1.4 10:02:49.886 [AWT-EventQueue-0] WARN org.jabref.JabRefGUI - There seem to be problems with OpenJDK and the default GTK Look&Feel. Using Metal L&F instead. Change to another L&F with caution. File: grouptree.fxml not found, attempting with camel case Sep 16, 2017 10:02:54 AM javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 8.0.112 by JavaFX runtime of version 8.0.60 File: grouptree.css not found, attempting with camel case

(Oliver Kopp) #2

GUI Tests are discussed at

Do you know the keyboard shortcut T in GitHub? You could have found the file

The new command is ./gradlew guiTest

The GUI tests currently do not run at all. JabRef starts, but nothing happens.

Help here is very, very welcome!

Due to the advantage of Eclipse Jubulua (, we would really welcome someone creating GUI Tests using Jubula. Could you maybe work on

We see the main advantage in Jubula that it executes on a different JVM and so we do not have threading issues etc.