Releases: fhoeben/hsac-fitnesse-fixtures
3.6.1
Release 3.6.1 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.6.1</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.6.1 (Requires Java 8)
- Refactored handling of technical selectors for BrowserTest.
- Allowed a bit more customisation of Selenium driver handling.
New in 3.6.0 (Requires Java 8)
- SeleniumDriverSetup has been refactored to move actual creation of Selenium WebDriver instances to separate classes. A new SeleniumHelper instance will be created each time a new session is created.
New in 3.5.0 (Requires Java 8)
- BrowserTest's
save page source
now also deals correctly with iframes without a source attribute. - Fixes a bug in BrowserTest where setting
set implicit wait for angular
to true caused the timeouts used to be changed. - Simplified some of the xpaths used by BrowserTest to find elements based on their (nested) text.
- Refactored BrowserTest (, SeleniumHelper and a couple of Bys) to have a type parameter specifying the subclass of WebElement they work with. This to facilitate creating subclasses targeting the Elements used by Appium.
New in 3.4.2 (Requires Java 8)
- Chromedriver updated to 2.32
- JUnitTeamcityReporter fixed to report test name when test is started, and not test Java class.
- Some refactoring in creation of Selenium RemoteWebDriver instances
New in 3.4.1 (Requires Java 8)
- JUnitTeamcityReporter includes
flowId
in its messages, so test reporting with multiple concurrent processes is more reliable.
New in 3.4.0 (Requires Java 8)
- Simplified copying of files from FitNesse files section, to the test result output directory, prior to a run via
HsacFitNesseRunner
. Copying the files is needed if tests need to read any files present there and previously required an extra step (like execution of Maven's copy-resources goal). NowHsacFitNesseRunner
will copy any files present there by default (excluding files that are probably generated and not required for a test run). Which files are excluded can be configured using theFilesSectionCopy
annotation. - Added the ability to generate a combined overview report of multiple test runs (using
HsacFitNesseRunner
). This can be useful when multiple test runs are run in separate JVMs (to allow parallel execution) each with its ownOutputDir
. This causes a separate test report for each run, which previously had to be published/reviewed separately. Using theHtmlReportIndexGenerator
one can get a single report showing all combined test results from each run. The generator can be invoked as a standalone Java program, for instance usingmvn exec:java@combine-reports
as defined in this project'spom.xml
after all tests runs have completed. - Removed (broken) link to Galen report in
HsacFitNesseRunner
test run top level report when no test using LayoutTest was included in the run.
New in 3.3.2 (Requires Java 8)
HsacFitNesseRunner
now allows the output directory, FitNesse root and FitNesse directory to be controlled via annotations (likeFitNesseRunner
), addressing #151. Output directory can also be overridden via system propertyfitnesseResultsDir
.- Refactored BrowserTest's clearing of elements and entering of values.
enter <value> as <place>
can now also be used as alternative toselect <value> for <place>
, which was already possible viaenter <value> in row where <selectColumn> is <selectValue>
New in 3.3.1 (Requires Java 8)
- Fixed bug in BrowserTest's
value of <column> in row where <selectColumn> is <value>
. It now also retrieves the values of disabled inputs in a cell. - Refactored BrowserTest's finding of elements inside grids, options in selects and items inside a numbered list to separate classes.
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files conta...
3.6.0
Release 3.6.0 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.6.0</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.6.0 (Requires Java 8)
- SeleniumDriverSetup has been refactored to move actual creation of Selenium WebDriver instances to separate classes. A new SeleniumHelper instance will be created each time a new session is created.
New in 3.5.0 (Requires Java 8)
- BrowserTest's
save page source
now also deals correctly with iframes without a source attribute. - Fixes a bug in BrowserTest where setting
set implicit wait for angular
to true caused the timeouts used to be changed. - Simplified some of the xpaths used by BrowserTest to find elements based on their (nested) text.
- Refactored BrowserTest (, SeleniumHelper and a couple of Bys) to have a type parameter specifying the subclass of WebElement they work with. This to facilitate creating subclasses targeting the Elements used by Appium.
New in 3.4.2 (Requires Java 8)
- Chromedriver updated to 2.32
- JUnitTeamcityReporter fixed to report test name when test is started, and not test Java class.
- Some refactoring in creation of Selenium RemoteWebDriver instances
New in 3.4.1 (Requires Java 8)
- JUnitTeamcityReporter includes
flowId
in its messages, so test reporting with multiple concurrent processes is more reliable.
New in 3.4.0 (Requires Java 8)
- Simplified copying of files from FitNesse files section, to the test result output directory, prior to a run via
HsacFitNesseRunner
. Copying the files is needed if tests need to read any files present there and previously required an extra step (like execution of Maven's copy-resources goal). NowHsacFitNesseRunner
will copy any files present there by default (excluding files that are probably generated and not required for a test run). Which files are excluded can be configured using theFilesSectionCopy
annotation. - Added the ability to generate a combined overview report of multiple test runs (using
HsacFitNesseRunner
). This can be useful when multiple test runs are run in separate JVMs (to allow parallel execution) each with its ownOutputDir
. This causes a separate test report for each run, which previously had to be published/reviewed separately. Using theHtmlReportIndexGenerator
one can get a single report showing all combined test results from each run. The generator can be invoked as a standalone Java program, for instance usingmvn exec:java@combine-reports
as defined in this project'spom.xml
after all tests runs have completed. - Removed (broken) link to Galen report in
HsacFitNesseRunner
test run top level report when no test using LayoutTest was included in the run.
New in 3.3.2 (Requires Java 8)
HsacFitNesseRunner
now allows the output directory, FitNesse root and FitNesse directory to be controlled via annotations (likeFitNesseRunner
), addressing #151. Output directory can also be overridden via system propertyfitnesseResultsDir
.- Refactored BrowserTest's clearing of elements and entering of values.
enter <value> as <place>
can now also be used as alternative toselect <value> for <place>
, which was already possible viaenter <value> in row where <selectColumn> is <selectValue>
New in 3.3.1 (Requires Java 8)
- Fixed bug in BrowserTest's
value of <column> in row where <selectColumn> is <value>
. It now also retrieves the values of disabled inputs in a cell. - Refactored BrowserTest's finding of elements inside grids, options in selects and items inside a numbered list to separate classes.
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
...
3.5.0
Release 3.5.0 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.5.0</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.5.0 (Requires Java 8)
- BrowserTest's
save page source
now also deals correctly with iframes without a source attribute. - Fixes a bug in BrowserTest where setting
set implicit wait for angular
to true caused the timeouts used to be changed. - Simplified some of the xpaths used by BrowserTest to find elements based on their (nested) text.
- Refactored BrowserTest (, SeleniumHelper and a couple of Bys) to have a type parameter specifying the subclass of WebElement they work with. This to facilitate creating subclasses targeting the Elements used by Appium.
New in 3.4.2 (Requires Java 8)
- Chromedriver updated to 2.32
- JUnitTeamcityReporter fixed to report test name when test is started, and not test Java class.
- Some refactoring in creation of Selenium RemoteWebDriver instances
New in 3.4.1 (Requires Java 8)
- JUnitTeamcityReporter includes
flowId
in its messages, so test reporting with multiple concurrent processes is more reliable.
New in 3.4.0 (Requires Java 8)
- Simplified copying of files from FitNesse files section, to the test result output directory, prior to a run via
HsacFitNesseRunner
. Copying the files is needed if tests need to read any files present there and previously required an extra step (like execution of Maven's copy-resources goal). NowHsacFitNesseRunner
will copy any files present there by default (excluding files that are probably generated and not required for a test run). Which files are excluded can be configured using theFilesSectionCopy
annotation. - Added the ability to generate a combined overview report of multiple test runs (using
HsacFitNesseRunner
). This can be useful when multiple test runs are run in separate JVMs (to allow parallel execution) each with its ownOutputDir
. This causes a separate test report for each run, which previously had to be published/reviewed separately. Using theHtmlReportIndexGenerator
one can get a single report showing all combined test results from each run. The generator can be invoked as a standalone Java program, for instance usingmvn exec:java@combine-reports
as defined in this project'spom.xml
after all tests runs have completed. - Removed (broken) link to Galen report in
HsacFitNesseRunner
test run top level report when no test using LayoutTest was included in the run.
New in 3.3.2 (Requires Java 8)
HsacFitNesseRunner
now allows the output directory, FitNesse root and FitNesse directory to be controlled via annotations (likeFitNesseRunner
), addressing #151. Output directory can also be overridden via system propertyfitnesseResultsDir
.- Refactored BrowserTest's clearing of elements and entering of values.
enter <value> as <place>
can now also be used as alternative toselect <value> for <place>
, which was already possible viaenter <value> in row where <selectColumn> is <selectValue>
New in 3.3.1 (Requires Java 8)
- Fixed bug in BrowserTest's
value of <column> in row where <selectColumn> is <value>
. It now also retrieves the values of disabled inputs in a cell. - Refactored BrowserTest's finding of elements inside grids, options in selects and items inside a numbered list to separate classes.
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
- Includes webdriver for Firefox (geckodriver)
New in 2.12.4
- Updated Selenium chrome driver to 2.30
Fixed in 2.12.3
- Fixed content of standalone.zip, version 2.12.2 only contained web drivers and not actual wiki or fixtures.
N...
3.4.2
Release 3.4.2 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.4.2</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.4.2 (Requires Java 8)
- Chromedriver updated to 2.32
- JUnitTeamcityReporter fixed to report test name when test is started, and not test Java class.
- Some refactoring in creation of Selenium RemoteWebDriver instances
New in 3.4.1 (Requires Java 8)
- JUnitTeamcityReporter includes
flowId
in its messages, so test reporting with multiple concurrent processes is more reliable.
New in 3.4.0 (Requires Java 8)
- Simplified copying of files from FitNesse files section, to the test result output directory, prior to a run via
HsacFitNesseRunner
. Copying the files is needed if tests need to read any files present there and previously required an extra step (like execution of Maven's copy-resources goal). NowHsacFitNesseRunner
will copy any files present there by default (excluding files that are probably generated and not required for a test run). Which files are excluded can be configured using theFilesSectionCopy
annotation. - Added the ability to generate a combined overview report of multiple test runs (using
HsacFitNesseRunner
). This can be useful when multiple test runs are run in separate JVMs (to allow parallel execution) each with its ownOutputDir
. This causes a separate test report for each run, which previously had to be published/reviewed separately. Using theHtmlReportIndexGenerator
one can get a single report showing all combined test results from each run. The generator can be invoked as a standalone Java program, for instance usingmvn exec:java@combine-reports
as defined in this project'spom.xml
after all tests runs have completed. - Removed (broken) link to Galen report in
HsacFitNesseRunner
test run top level report when no test using LayoutTest was included in the run.
New in 3.3.2 (Requires Java 8)
HsacFitNesseRunner
now allows the output directory, FitNesse root and FitNesse directory to be controlled via annotations (likeFitNesseRunner
), addressing #151. Output directory can also be overridden via system propertyfitnesseResultsDir
.- Refactored BrowserTest's clearing of elements and entering of values.
enter <value> as <place>
can now also be used as alternative toselect <value> for <place>
, which was already possible viaenter <value> in row where <selectColumn> is <selectValue>
New in 3.3.1 (Requires Java 8)
- Fixed bug in BrowserTest's
value of <column> in row where <selectColumn> is <value>
. It now also retrieves the values of disabled inputs in a cell. - Refactored BrowserTest's finding of elements inside grids, options in selects and items inside a numbered list to separate classes.
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
- Includes webdriver for Firefox (geckodriver)
New in 2.12.4
- Updated Selenium chrome driver to 2.30
Fixed in 2.12.3
- Fixed content of standalone.zip, version 2.12.2 only contained web drivers and not actual wiki or fixtures.
New in 2.12.2
- JsonHttpTest added a method to json http test to check if json path exists #137
- BrowserTest new command
drag and drop <place> to <target>
#139 - BrowserTest's
waitAfterScroll()
can be overridden in subclasses #135 - Webdrivers for macOS in 'standalone.zip' have execute bit set
- Example Java class for subclassing BrowserTest simplified, and extended sample page to also show usage of scenario to introduce abstraction over finding element by xPath.
- Improved handling of nested maps inside new list elements when setting values in MapFixture and HttpTes...
3.4.1
Release 3.4.1 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.4.1</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.4.1 (Requires Java 8)
- JUnitTeamcityReporter includes
flowId
in its messages, so test reporting with multiple concurrent processes is more reliable.
New in 3.4.0 (Requires Java 8)
- Simplified copying of files from FitNesse files section, to the test result output directory, prior to a run via
HsacFitNesseRunner
. Copying the files is needed if tests need to read any files present there and previously required an extra step (like execution of Maven's copy-resources goal). NowHsacFitNesseRunner
will copy any files present there by default (excluding files that are probably generated and not required for a test run). Which files are excluded can be configured using theFilesSectionCopy
annotation. - Added the ability to generate a combined overview report of multiple test runs (using
HsacFitNesseRunner
). This can be useful when multiple test runs are run in separate JVMs (to allow parallel execution) each with its ownOutputDir
. This causes a separate test report for each run, which previously had to be published/reviewed separately. Using theHtmlReportIndexGenerator
one can get a single report showing all combined test results from each run. The generator can be invoked as a standalone Java program, for instance usingmvn exec:java@combine-reports
as defined in this project'spom.xml
after all tests runs have completed. - Removed (broken) link to Galen report in
HsacFitNesseRunner
test run top level report when no test using LayoutTest was included in the run.
New in 3.3.2 (Requires Java 8)
HsacFitNesseRunner
now allows the output directory, FitNesse root and FitNesse directory to be controlled via annotations (likeFitNesseRunner
), addressing #151. Output directory can also be overridden via system propertyfitnesseResultsDir
.- Refactored BrowserTest's clearing of elements and entering of values.
enter <value> as <place>
can now also be used as alternative toselect <value> for <place>
, which was already possible viaenter <value> in row where <selectColumn> is <selectValue>
New in 3.3.1 (Requires Java 8)
- Fixed bug in BrowserTest's
value of <column> in row where <selectColumn> is <value>
. It now also retrieves the values of disabled inputs in a cell. - Refactored BrowserTest's finding of elements inside grids, options in selects and items inside a numbered list to separate classes.
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
- Includes webdriver for Firefox (geckodriver)
New in 2.12.4
- Updated Selenium chrome driver to 2.30
Fixed in 2.12.3
- Fixed content of standalone.zip, version 2.12.2 only contained web drivers and not actual wiki or fixtures.
New in 2.12.2
- JsonHttpTest added a method to json http test to check if json path exists #137
- BrowserTest new command
drag and drop <place> to <target>
#139 - BrowserTest's
waitAfterScroll()
can be overridden in subclasses #135 - Webdrivers for macOS in 'standalone.zip' have execute bit set
- Example Java class for subclassing BrowserTest simplified, and extended sample page to also show usage of scenario to introduce abstraction over finding element by xPath.
- Improved handling of nested maps inside new list elements when setting values in MapFixture and HttpTest.
New in 2.12.1
- Fix HsacExamples.SymbolSamples to make
!randomIBAN
work - JsonHttpTest has new method to retrieve the n-th element of a json path expression which returns an array:
element <index> of json path <expression>
...
3.4.0
Release 3.4.0 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.4.0</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.4.0 (Requires Java 8)
- Simplified copying of files from FitNesse files section, to the test result output directory, prior to a run via
HsacFitNesseRunner
. Copying the files is needed if tests need to read any files present there and previously required an extra step (like execution of Maven's copy-resources goal). NowHsacFitNesseRunner
will copy any files present there by default (excluding files that are probably generated and not required for a test run). Which files are excluded can be configured using theFilesSectionCopy
annotation. - Added the ability to generate a combined overview report of multiple test runs (using
HsacFitNesseRunner
). This can be useful when multiple test runs are run in separate JVMs (to allow parallel execution) each with its ownOutputDir
. This causes a separate test report for each run, which previously had to be published/reviewed separately. Using theHtmlReportIndexGenerator
one can get a single report showing all combined test results from each run. The generator can be invoked as a standalone Java program, for instance usingmvn exec:java@combine-reports
as defined in this project'spom.xml
after all tests runs have completed. - Removed (broken) link to Galen report in
HsacFitNesseRunner
test run top level report when no test using LayoutTest was included in the run.
New in 3.3.2 (Requires Java 8)
HsacFitNesseRunner
now allows the output directory, FitNesse root and FitNesse directory to be controlled via annotations (likeFitNesseRunner
), addressing #151. Output directory can also be overridden via system propertyfitnesseResultsDir
.- Refactored BrowserTest's clearing of elements and entering of values.
enter <value> as <place>
can now also be used as alternative toselect <value> for <place>
, which was already possible viaenter <value> in row where <selectColumn> is <selectValue>
New in 3.3.1 (Requires Java 8)
- Fixed bug in BrowserTest's
value of <column> in row where <selectColumn> is <value>
. It now also retrieves the values of disabled inputs in a cell. - Refactored BrowserTest's finding of elements inside grids, options in selects and items inside a numbered list to separate classes.
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
- Includes webdriver for Firefox (geckodriver)
New in 2.12.4
- Updated Selenium chrome driver to 2.30
Fixed in 2.12.3
- Fixed content of standalone.zip, version 2.12.2 only contained web drivers and not actual wiki or fixtures.
New in 2.12.2
- JsonHttpTest added a method to json http test to check if json path exists #137
- BrowserTest new command
drag and drop <place> to <target>
#139 - BrowserTest's
waitAfterScroll()
can be overridden in subclasses #135 - Webdrivers for macOS in 'standalone.zip' have execute bit set
- Example Java class for subclassing BrowserTest simplified, and extended sample page to also show usage of scenario to introduce abstraction over finding element by xPath.
- Improved handling of nested maps inside new list elements when setting values in MapFixture and HttpTest.
New in 2.12.1
- Fix HsacExamples.SymbolSamples to make
!randomIBAN
work - JsonHttpTest has new method to retrieve the n-th element of a json path expression which returns an array:
element <index> of json path <expression>
New in 2.12.0
- Build based on compacted Git repository (#130), Selenium web driver executables now have different file names. (Please delete the existing content of ...
3.3.2
Release 3.3.2 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.3.2</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.3.2 (Requires Java 8)
HsacFitNesseRunner
now allows the output directory, FitNesse root and FitNesse directory to be controlled via annotations (likeFitNesseRunner
), addressing #151. Output directory can also be overridden via system propertyfitnesseResultsDir
.- Refactored BrowserTest's clearing of elements and entering of values.
enter <value> as <place>
can now also be used as alternative toselect <value> for <place>
, which was already possible viaenter <value> in row where <selectColumn> is <selectValue>
New in 3.3.1 (Requires Java 8)
- Fixed bug in BrowserTest's
value of <column> in row where <selectColumn> is <value>
. It now also retrieves the values of disabled inputs in a cell. - Refactored BrowserTest's finding of elements inside grids, options in selects and items inside a numbered list to separate classes.
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
- Includes webdriver for Firefox (geckodriver)
New in 2.12.4
- Updated Selenium chrome driver to 2.30
Fixed in 2.12.3
- Fixed content of standalone.zip, version 2.12.2 only contained web drivers and not actual wiki or fixtures.
New in 2.12.2
- JsonHttpTest added a method to json http test to check if json path exists #137
- BrowserTest new command
drag and drop <place> to <target>
#139 - BrowserTest's
waitAfterScroll()
can be overridden in subclasses #135 - Webdrivers for macOS in 'standalone.zip' have execute bit set
- Example Java class for subclassing BrowserTest simplified, and extended sample page to also show usage of scenario to introduce abstraction over finding element by xPath.
- Improved handling of nested maps inside new list elements when setting values in MapFixture and HttpTest.
New in 2.12.1
- Fix HsacExamples.SymbolSamples to make
!randomIBAN
work - JsonHttpTest has new method to retrieve the n-th element of a json path expression which returns an array:
element <index> of json path <expression>
New in 2.12.0
- Build based on compacted Git repository (#130), Selenium web driver executables now have different file names. (Please delete the existing content of the 'wiki/webdrivers' directory after upgrading, new executables will be downloaded on startup.)
- Upgraded to hsac-fitnesse-plugin 1.18.0 and added randomEmail and randomIban to the SymbolSamples, #132
3.3.1
Release 3.3.1 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.3.1</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.3.1 (Requires Java 8)
- Fixed bug in BrowserTest's
value of <column> in row where <selectColumn> is <value>
. It now also retrieves the values of disabled inputs in a cell. - Refactored BrowserTest's finding of elements inside grids, options in selects and items inside a numbered list to separate classes.
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
- Includes webdriver for Firefox (geckodriver)
New in 2.12.4
- Updated Selenium chrome driver to 2.30
Fixed in 2.12.3
- Fixed content of standalone.zip, version 2.12.2 only contained web drivers and not actual wiki or fixtures.
New in 2.12.2
- JsonHttpTest added a method to json http test to check if json path exists #137
- BrowserTest new command
drag and drop <place> to <target>
#139 - BrowserTest's
waitAfterScroll()
can be overridden in subclasses #135 - Webdrivers for macOS in 'standalone.zip' have execute bit set
- Example Java class for subclassing BrowserTest simplified, and extended sample page to also show usage of scenario to introduce abstraction over finding element by xPath.
- Improved handling of nested maps inside new list elements when setting values in MapFixture and HttpTest.
New in 2.12.1
- Fix HsacExamples.SymbolSamples to make
!randomIBAN
work - JsonHttpTest has new method to retrieve the n-th element of a json path expression which returns an array:
element <index> of json path <expression>
New in 2.12.0
- Build based on compacted Git repository (#130), Selenium web driver executables now have different file names. (Please delete the existing content of the 'wiki/webdrivers' directory after upgrading, new executables will be downloaded on startup.)
- Upgraded to hsac-fitnesse-plugin 1.18.0 and added randomEmail and randomIban to the SymbolSamples, #132
3.3.0
Release 3.3.0 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.3.0</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.3.0 (Requires Java 8)
- FileFixture, new methods to:
- check for existence of a file
- delete a file
- poll (check repeatedly) until a file is created (or no longer exists)
- poll to check a file's size exceeds a certain value
- BrowserTest now also looks for 'summary' elements to be clicked, and allows a summary's text to be used to specify its 'details' element as a container.
- Refactored BrowserTest's finding of elements to separate
...By
classes instead of having that logic be part ofBrowserTest
andSeleniumHelper
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
- Includes webdriver for Firefox (geckodriver)
New in 2.12.4
- Updated Selenium chrome driver to 2.30
Fixed in 2.12.3
- Fixed content of standalone.zip, version 2.12.2 only contained web drivers and not actual wiki or fixtures.
New in 2.12.2
- JsonHttpTest added a method to json http test to check if json path exists #137
- BrowserTest new command
drag and drop <place> to <target>
#139 - BrowserTest's
waitAfterScroll()
can be overridden in subclasses #135 - Webdrivers for macOS in 'standalone.zip' have execute bit set
- Example Java class for subclassing BrowserTest simplified, and extended sample page to also show usage of scenario to introduce abstraction over finding element by xPath.
- Improved handling of nested maps inside new list elements when setting values in MapFixture and HttpTest.
New in 2.12.1
- Fix HsacExamples.SymbolSamples to make
!randomIBAN
work - JsonHttpTest has new method to retrieve the n-th element of a json path expression which returns an array:
element <index> of json path <expression>
New in 2.12.0
- Build based on compacted Git repository (#130), Selenium web driver executables now have different file names. (Please delete the existing content of the 'wiki/webdrivers' directory after upgrading, new executables will be downloaded on startup.)
- Upgraded to hsac-fitnesse-plugin 1.18.0 and added randomEmail and randomIban to the SymbolSamples, #132
3.2.3
Release 3.2.3 of the project contains the latest FitNesse (20161106) and Selenium 3.5.3 releases.
Please note: starting with version 3.0.0 this project requires Java 8, that means this project will no longer work with Java 7.
To get started by running some sample tests (if you have a Java runtime installed): just download the standalone.zip, extract it and run it (using 'java -jar fitnesse-standalone.jar -p 9090
', or on Windows just double clicking the jar to run the application on port 80
instead of 9090
) from the directory where the 'standalone.zip' was extracted and open a browser to http://localhost:9090/HsacExamples
.
Please note: please extract the zip to a location without spaces in its own name or in the names of its parents.
A clone or download of the sources and running with Maven and Java Development Kit is the way to go if you want to develop/debug fixtures.
To incorporate the fixtures in an existing FitNesse project you can also get it from Maven Central
<dependency>
<groupId>nl.hsac</groupId>
<artifactId>hsac-fitnesse-fixtures</artifactId>
<version>3.2.3</version>
</dependency>
An example of Maven based project using this baseline can be found at: https://github.com/fhoeben/sample-fitnesse-project.
When upgrading from an older version, ensure all Selenium webdrivers are stopped and delete the 'wiki/plugins' and 'wiki/webdrivers' folders to remove old versions of the packaged plugins/webdrivers. When using the sample project: follow the instructions at https://github.com/fhoeben/sample-fitnesse-project#upgrading.
Version 2.12.0 is based on a changed Git repository (to make it smaller, see #130). Please create new forks of the project (or rebase your branches) before submitting any pull requests (since otherwise all old binary content will come back and make the repo huge again).
New in 3.2.3 (Requires Java 8)
- Selenium upgraded to 3.5.3
- BrowserTest:
- Do not ignore the fact that a container cannot be found in the
... in <container>
methods. Previously the method would have been executed like no container was requested. - When using the
... repeat until <place> is (not) <value>
the number of seconds spent looking for elements ('seconds before timeout') is reduced to the repeat interval (rounded to seconds, with a 1 second minimum). This will make the 'action' (i.e. 'click' or 'refresh') in quicker succession.
- Do not ignore the fact that a container cannot be found in the
- BrowserTest and HttpTest:
- When using 'repeat until' the waiting time between check and action is reduced with the amount of time used to perform the action and check, instead of always being the configured amount . In other words: previously the 'repeat interval' was the fixed wait time, now waiting is only performed if the action/check took less time than the wait time AND wait time is reduced by time used for action/check.
New in 3.2.2 (Requires Java 8)
- Allow technical selectors to be used in NgBrowserTest's overrides of BrowserTest methods, #157
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName', even when the table is nested inside another table. - Refactored technical selector handling to reduce code duplication.
New in 3.2.1 (Requires Java 8)
- Selenium upgraded to 3.5.2
- Fixed
value of <columnName> in number <row>
to ensure the row is actually in the same table which has the column header 'columnName'. - Optimised BrowserTest's finding elements to see whether a text is displayed on screen.
- Refactored 'container handling' (e.g.
click <place> in <container>
) to take advantage of Java 8 lambda functions and make it easier to override heuristics in a subclass of BrowserTest.
New in 3.2.0 (Requires Ja
va 8)
- Selenium upgraded to 3.5.1
- BrowserTest
enter date <dd-mm-yyyy> as <place>
waits for 'place' to appear, just likeenter <value> as <place>
.- New commands to refresh page, or click repeatedly, until some value (dis)appears on a page. This is useful in cases where some asynchronous process must completed before the test can continue. This is similar to the 'repeat until' functionality already offered by HttpTest and its children.
refresh until value of <place> is <expectedValue>
refresh until value of <place> is not <expectedValue>
click <clickPlace> until value of <checkPlace> is <expectedValue>
click <clickPlace> until value of <checkPlace> is not <expectedValue>
New in 3.1.0 (Requires Java 8)
- BrowserTest
select <value> for <input>
no longer ignores that 'input' cannot be found, when it can find 'value'. Now this is treated as an exception. To get back the same result in any test relying on the old behaviour: rewrite your test to useclick <value>
. #159- New commands:
enter date <dd-mm-yyyy> as <place>
allows a value to be entered for a native date picker (i.e. HTML5 input of type 'date').right click <place>
to perform a right mouse button (i.e. context) click.execute script <script>
allows JavaScript contained in the wiki to be sent directly to the browser , #155
- New utility fixture 'DateFormatFixture' which allows dates to be converted between various formats, #158
- Removed PhantomJs from 'standalone.zip', the project now uses Chrome Headless to run its acceptances tests (making them much faster, and allowing more features to be used)
New in 3.0.0 (Requires Java 8)
- Added new fixture 'LayoutTest' which can be used to test the (responsive) layout of web pages, in combination with BrowserTest. This fixture uses the Galen Framework and files containing checks in its spec language to perform the actual checks.
- Upgraded Selenium to 3.4.0
- Includes webdriver for Firefox (geckodriver)
New in 2.12.4
- Updated Selenium chrome driver to 2.30
Fixed in 2.12.3
- Fixed content of standalone.zip, version 2.12.2 only contained web drivers and not actual wiki or fixtures.
New in 2.12.2
- JsonHttpTest added a method to json http test to check if json path exists #137
- BrowserTest new command
drag and drop <place> to <target>
#139 - BrowserTest's
waitAfterScroll()
can be overridden in subclasses #135 - Webdrivers for macOS in 'standalone.zip' have execute bit set
- Example Java class for subclassing BrowserTest simplified, and extended sample page to also show usage of scenario to introduce abstraction over finding element by xPath.
- Improved handling of nested maps inside new list elements when setting values in MapFixture and HttpTest.
New in 2.12.1
- Fix HsacExamples.SymbolSamples to make
!randomIBAN
work - JsonHttpTest has new method to retrieve the n-th element of a json path expression which returns an array:
element <index> of json path <expression>
New in 2.12.0
- Build based on compacted Git repository (#130), Selenium web driver executables now have different file names. (Please delete the existing content of the 'wiki/webdrivers' directory after upgrading, new executables will be downloaded on startup.)
- Upgraded to hsac-fitnesse-plugin 1.18.0 and added randomEmail and randomIban to the SymbolSamples, #132