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