Monocle in 8u25
Tom Eugelink
tbee at tbee.org
Fri Nov 14 06:20:44 UTC 2014
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 <tbee at tbee.org <mailto:tbee at 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 <hastebrot at gmail.com <mailto:hastebrot at 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, <ngalarneau at abinitio.com <mailto:ngalarneau at 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 <hastebrot at gmail.com <mailto:hastebrot at gmail.com>>
> To: Tom Eugelink <tbee at tbee.org <mailto:tbee at tbee.org>>,
> Cc: "openjfx-dev at openjdk.java.net <mailto:openjfx-dev at openjdk.java.net>" <openjfx-dev at openjdk.java.net <mailto:openjfx-dev at openjdk.java.net>>
> Date: 11/12/2014 03:10 AM
> Subject: Re: Monocle in 8u25
> Sent by: "openjfx-dev" <openjfx-dev-bounces at openjdk.java.net <mailto:openjfx-dev-bounces at 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 <tbee at tbee.org <mailto:tbee at 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 <tbee at tbee.org <mailto:tbee at 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.true at gmail.com <mailto:sean.true at 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 <
>
> hastebrot at gmail.com <mailto:hastebrot at 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 <
>
> hastebrot at gmail.com <mailto:hastebrot at 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 <
>
> hastebrot at gmail.com <mailto:hastebrot at 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. *
>
>
>
>
>
More information about the openjfx-dev
mailing list