I'll change it for the next release to something less personal. :-)
Tom On 14-11-2014 00:00, Benjamin Gudehus wrote:
Maybe we could use "The TestFX contributors" as "developers"? On Thu, Nov 13, 2014 at 10:33 PM, Tom Eugelink <t...@tbee.org <mailto:t...@tbee.org>> wrote: A developer is mandatory, your name is as good as any? Tom On 13-11-2014 22:06, Benjamin Gudehus wrote: @Tom Thanks for the patch. Will apply it soon. Is there something like a package maintainer field for Maven? I think developer is a bit too pompous; I didn't touch the code. On Thu, Nov 13, 2014 at 10:01 PM, Benjamin Gudehus <hasteb...@gmail.com <mailto:hasteb...@gmail.com>> wrote: Hi Neil! The TestFX library is still moving the Windows mouse! TestFX is using Awt's robot. This robot ignores Glass/Monocle and controls the OS's cursor. We need to replace it with Glass' robot. I already tested it and it works fine. PR will be ready soon. This PR will also replace the Awt screenshot mechanism with the one from the Glass robot. I hoped that this will also take screenshots wenn running in headless mode. But unfortunately the screenshots were empty. I saw in Monocle's source code, that it writes color values into an internal byte stream, so it actually should work. Also very nice to see, that people are using bleeding edge version of TestFX. :) TestFX will also have better Spock/Groovy support in the future. --Benjamin On Thu, Nov 13, 2014 at 9:38 PM, <ngalarn...@abinitio.com <mailto:ngalarn...@abinitio.com>> wrote: Hi Benjamin, We are using Spock for testing, and have modified the setupStage() method to support optional headless testing with Monocle, which is working well on Windows (the code is in groovy): void setupStage(Closure<javafx.scene.Node> rootNodeFactory) { if (fx == null && isHeadless) { // Cribbed from: https://gist.github.com/hastebrot/cbca1128dd791966e3a6 PlatformFactory.instance = new MonoclePlatformFactory() NativePlatformFactory.platform = new HeadlessPlatform() } fx = new GuiTest() fx.rootNodeFactory = rootNodeFactory fx.setupGuiTest() } It works nicely until fx.clickOn is called. The TestFX library is still moving the Windows mouse! Any thoughts? Thanks, Neil From: Benjamin Gudehus <hasteb...@gmail.com <mailto:hasteb...@gmail.com>> To: Tom Eugelink <t...@tbee.org <mailto:t...@tbee.org>>, Cc: "openjfx-dev@openjdk.java.net <mailto:openjfx-dev@openjdk.java.net>" <openjfx-dev@openjdk.java.net <mailto:openjfx-dev@openjdk.java.net>> Date: 11/12/2014 03:10 AM Subject: Re: Monocle in 8u25 Sent by: "openjfx-dev" <openjfx-dev-boun...@openjdk.java.net <mailto:openjfx-dev-boun...@openjdk.java.net>> ------------------------------ That would be nice, Tom. Example usage: Since com.sun.glass.ui.PlatformFactory can't find Monocle classes from the external jars, we need to change public static void main(String[] appArgs) { Application.launch(appClass, appArgs); } to public static void main(String[] appArgs) { new ToolkitApplicationLauncher().launch(appClass, appArgs); } and start the Application with -Djavafx.monocle.headless=true. ToolkitApplicationLauncher.jar: https://gist.github.com/hastebrot/cbca1128dd791966e3a6 On Wed, Nov 12, 2014 at 8:48 AM, Tom Eugelink <t...@tbee.org <mailto:t...@tbee.org>> wrote: I can roll it out under the same name (openjfx-monocle-1.8.0_20) within the org.jfxtras group. Just say so. Tom On 12-11-2014 08:30, Benjamin Gudehus wrote: Hi all! Files and instructions are available at https://github.com/TestFX/Monocle . Releases with jars: https://github.com/TestFX/Monocle/releases License (taken from OpenJFX respository): https://github.com/TestFX/Monocle/blob/master/LICENSE Would be nice to have this available from Maven. --Benjamin On Wed, Nov 5, 2014 at 8:20 PM, Tom Eugelink <t...@tbee.org <mailto:t...@tbee.org>> wrote: This is extremely good news. I have no problem to "drag" that library along in the JFXtras project (project name seems to be a good match for this usage ;-) and release it to maven - if that is allowed by the JavaFX license. Tom On 5-11-2014 16:57, Benjamin Gudehus wrote: Hi Sean, I've put the Monocle sources directly in my code directories for testing purposes. Putting it into a separate Jar is possible and I thought that pre-compiled jars could be provided via Maven. I didn't do a complete OpenJFX build, because I was only interested in the Headless component of Monocle, i.e. I didn't needed the platform-dependent dynamic libraries. Rough instructions were given in a previous mail. There were some request to provide the pre-compoile jars so I will additionally set up a public repository with detailed instructions when I'm back home. --Benjamin On 11/5/14, Sean True <sean.t...@gmail.com <mailto:sean.t...@gmail.com>> wrote: Did you build the glass/ui/monocle sources into a separate jar, or did you do a complete OpenJFX build? If you did a separate build, a recipe would be extremely helpful. -- Sean On Tue, Nov 4, 2014 at 6:17 PM, Benjamin Gudehus < hasteb...@gmail.com <mailto:hasteb...@gmail.com>> wrote: I managed to run Monocle/Headless on Windows with 8u25. This will allow users to run headless tests. All what is needed is to copy all files from "com/sun/glass/ui/monocle" of "javafx-src.zip" and add the cursor resource files from "modules/graphics/src/main/resources/com/sun/glass/ui/monocle" of the related hg tag in the OpenJFX repository [1]. Before Application#launch() is called we need to manually set the Glass and Monocle platforms: accessStaticField(com.sun.glass.ui.PlatformFactory.class, "instance", new com.sun.glass.ui.monocle.MonoclePlatformFactory()); accessStaticField(com.sun.glass.ui.monocle.NativePlatformFactory.class, "platform", new com.sun.glass.ui.monocle.headless.HeadlessPlatform()); The directory structure in 8u40 is a bit different, but there could be added version checks. Checking for the JVM vars "glass.platform" and "monocle.platform" might be also added to this code. [1] http://hg.openjdk.java.net/openjfx/8u-dev/rt/tags On Tue, Nov 4, 2014 at 8:42 PM, Benjamin Gudehus < hasteb...@gmail.com <mailto:hasteb...@gmail.com>> wrote: Hmm. Seems that Class.forName() in com.sun.glass.ui.PlatformFactory won't retrieve externally defined PlatformFactorys. So I will try to set the PlatformFactory.instance field manually, before the Application/Tookit/FX-Thread is launched. On Tue, Nov 4, 2014 at 7:36 PM, Benjamin Gudehus < hasteb...@gmail.com <mailto:hasteb...@gmail.com> wrote: Thank you. That makes it clearer. :) Is it possible to supply the headless part of Monocle in an external Jar for desktop platforms? As far as I know the only possibility to run TestFX tests with Hudson/Jenkins is in headless mode. TestFX's tests itself can only run with the X virtual framebuffer on Linux test clients for the Travis CI so far. So far the only advice I could give TestFX users who like to run headless tests is to use 1.8.0_20-ea-b05. NOTICE *from Ab Initio: This email (including any attachments) may contain information that is subject to confidentiality obligations or is legally privileged, and sender does not waive confidentiality or privilege. If received in error, please notify the sender, delete this email, and make no further use, disclosure, or distribution. *