Giter Club home page Giter Club logo

jfx-tests's Introduction

JFX-Tests

This repository contains the tests and tools for JavaFX.

Layout

  • tools - test tools
  • tools/Jemmy - JemmyFX tool and accompanying tools.
  • bigapps - test suites based on using real world applications.[Not working yet]
  • bigapps/EnsembleTests - tests using the Ensemble app [Not working yet]
  • functional - This directory contains functional test suites for JavaFX.

Dependencies

  1. Bash Shell

  2. JDK (version 19+)

  3. JavaFX sdk (SDK built out of the latest javafx-mainline or downloaded)

  4. ant (version 1.10 and above)

  5. Jtreg - We need a jtreg that contains lib/junit.jar file. e.g. version jtreg-6.2.1. See Jtreg

  6. Jemmy-v3 library

    This builds 4 Jemmy jar files in jemmy-v3/core/build

Building and Running tests

Runing tests present under functional directory

As of now, 3DTests, ControlsTests, FxmlTests and SceneGraphTests compile and can be run from these respective directories. NOTE : They do not run from the top level jfx-tests directory.

  1. Change to bash shell

  2. export SHELL=/bin/bash

  3. Set JAVA_HOME

  4. Set PATH to java and ant executables

  5. Clone the test repo git clone https://github.com/openjdk/jfx-tests.git (OR - clone your own personal fork of the - https://github.com/openjdk/jfx-tests repository)

  6. To execute 'SceneGraphTests' tests

  • cd jfx-tests/functional/SceneGraphTests
  • Issue following command (replace the local paths appropriately) to run a set of SceneGraphTests tests

ant -v -Djemmy-v3.jars=<Path to Jemmy repository>/jemmy-v3/core/build -Djavafx.home=<Path to a locally built OR downloaded JavaFX sdk> -Djtreg.home=<Path to Jtreg tool> test

  • To run a single test provide - -Dtests=<Path and test file name from SceneGraphTests/tests> before test in above command
  1. Generating golden images

A golden image is a manually verified image of the expected graphical output of a test. Many of the javafx functional tests depend upon golden images for image comparison and and assertion testing. In the absence of a centrally hosted directory of golden images, you must generate these golden images once and then subsequently run the tests. Here are the steps to generate golden images

a) Run the required tests (e.g. functional/SceneGraphTests) as described in step (6) above. This test run results in multiple test failures, but generates screenshots of test window in build/images directory. If satisfied with the expected graphical output, these images can be used as golden images by copying them to build/golden/SceneGraphTests/prism/mac directory (for a test run on macOS). Note - this directory structure needs to be created if not present.

b) After placing the golden images in the directory mentioned above, re-run the tests using step (6).

Runing tests present under bigapps directory

These tests do not run

TODO: Make these tests runnable

Runing tests present under bigapps/EnsembleTests directory

These tests do not run

TODO: Make these tests runnable

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.