Java SE 7 support removed
Java SE 7 support as run-time environment is removed. This is according to the announcement in the previous release. Please use Java SE 8 or newer version.
18 January 2021
New Features and Improvement
Added support for Java SE 9 and newer. Java 11 (LTS) is recommended
Added Agent Docker image
Released public Agent Docker image named axway/ats-agent (https://hub.docker.com/r/axway/ats-agent); For details check the page ATS Agent - Docker Image
Action Library
Added DB snapshot support for PostgreSQL DB.
Added support for Azure Blob Storage - both create/delete/query and polling operations. This complements already existing Amazon S3 storage support.
Verified compatibility of HttpClient and RestClient with TLS 1.3 (Java 11 needed or Azul Java 8).
FileSystemOperations - Support extraction of more ZIP-based archives - JAR, EAR, WAR, SAR, APK.
DatabaseSnapshot - Added support for skipping table indexes and additional comparison options for DatabaseSnapshot.
ProcessExecutor - Added new method to get all environment variables (locally and remote, on ATS Agent ). So far there were already options to get the value of specific variable and also set/change existing one.
Improvements in parsing supported protocols for HTTPS connections.
DB Logging library and TestExplorer
Allow export of many entities (like suites, tests, statistics) for specific time interval. This allows getting details (like statistics) for more granular interval useful especially for long-running tests.
Update database so checkpoints (performance actions) more than DB MAX INT (~2.4 Billion) could be registered into DB. This allows storing many more performance test statistics. The change requires database upgrade (upgrade script in Test Explorer).
Agent
Add methods to notify ATS that some Agent is restarted during the test and should be reconfigured. Use AgentConfigurationClient.invalidateAtsDbLogConfiguration(agent list) method.
Ability to programmatically set new logging severity for logging from the agent to the ATS database. Method: SystemOperations.setAtsDbAppenderThreshold( thesholdLevel).
Monitoring
Improve additionally the speed of insertion in batches of checkpoints. Useful for performance tests with quick/short-running user actions.
Environment Cleanup
Added backup/restore functionality for PostgreSQL databases. Backup-restore has also implemented DROP and RECREATE functionality as the rest of the databases. This requires minimum PostgreSQL DB version 12.
UI engine
Updates for in-browser and mobile application UI testing. Also dependent libraries are upgraded.
Other minor changes:
Action Library
FileSystemOperations - allow both options ("/" and "\") for folder path separators to copy files to an ATS Agent. So far the folder separator should match with the type of the Agent's OS.
For example new FileSystemOperations("some-agent-host:port").copyFileTo("source/file", "c:/temp/folder/") was not working on target Windows because of UNIX-style forward slashes ("/"). Now both "\" and "/" could be used regardless of the Agent's OS.
Add more DB snapshot compare options. This allows finer tuning of acceptable small snapshot differences.
Add getLong() method for JsonText objects.
Test Harness
Allow possibility to trace TestNG listeners creation and start/stop Run events.
Bug Fixes
Action library
FileSystemOperations - align copyFileTo() method to behave the same as UNIX cp command. In brief, it means that missing directories in target path are not created. Non-default OS file separators ("\" for UNIX and "/" for Linux) are supported but not recommended.
PackageLoader - Some of the methods like loadPackageFromDb now log the full exception cause along with a clarifying message instead of just the latter.
HTTPS, FTPS transfers - Fix keystore parsing issue.
Default keystore type is explicitly set by ATS back to JKS. Fixes problems with Java 9+ and BouncyCastle provider combinations.
FTPS transfers - set passive mode for FTPS transfers as other FTP protocols.
FileSystemOperations - Allow passive mode for copying files to agents. This eliminates the extra configuration needed to open ports on agent side for file copy. Suitable for container environments.
Fixes in SystemOperations - classpath utility methods, related to Java 11 changes and restrictions.
Fix for recursive deletion of directories with a lot of entries.
Agent
Fixes in agent start UNIX script for better shell compatibility (sh, bash).
Fixes in agent start Windows script. Compatibility with Java 9+ including debugging options.
Fixes for performance tests - for some specific cases distribution of ListDataConfig values was failing.
Fix final DB events logging (do not skip them) when Batch mode is enabled.
Add commons-io to agent libraries in order to allow getting last lines from file (execution of FileSystemOperations.getLastLinesFromFile())
Fix in parsing of ATS UID in order test executors to be properly identified to ATS Agents.
Log
Fixes in batch mode logging. Fixes in user statistics calculation when there were not passed actions for а given period.
Error case was causing loop of data write mode.
Enhance detection whether Ms SQL Server JDBC driver is used.
Test harness
Upgraded Excel data provider dependencies - Apache POI to 4.1.2. Also fix potential file handler leak.
RBV (Rule-Based Verifications)
DbVerification - allow to be specified custom DB port for PostgreSQL database.
Environment cleanup
Fix for Cassandra DB backup creation for some data types like binary ones;
Fix for Microsoft SQL Server DB backups for varbinary DB types;
Fix for Microsoft SQL Server for use of custom(non-default) JDBC driver - now the setting is kept per connection and not global;
Monitoring
Fix for system and custom monitoring when WildFly (JBoss) is used. This is because of the custom classloader and virtual filesystem (VFS);
Fix Agent configuration when there are both Agent operations and monitoring running.
Monitoring left running (killed or hanged previous test execution) is reset on new test start. Note that killed Test executor does not stop automatically agent actions so agent (re)start is recommended before starting another performance tests.
Allow monitoring to be used multiple times, after stopMonitoring() is invoked before.
Do not reuse statistic IDs belonging to a different database.
Changes in third party dependencies
- MySQL JDBC driver (mysql:mysql-connector-java) is updated to version 8.0.21. Note that the older 5.x versions still work regardless of some changed classes. This is done transparently.
- PostgreSQL JDBC driver is upgraded to current version - 42.2.9
- Microsoft SQL Server JDBC driver is referred as new dependency. Current version is 7.0.0.jre8. However jTDS driver is still used by default
- Upgraded Selenium and Appium dependencies. Selenium is now 3.141.59, Appium is 7.0.0
- Updated most of the Maven plugin dependencies for compatibility with newer Java SE versions
- commons-net:commons-net (Apache Commons-net) is updated to version 3.7.1
- xerces:xercesImpl is updated to version 2.12.0
- xalan:xalan is updated to version 2.7.2
- org.apache.poi:poi and org.apache.poi:poi-ooxml are updated to version 4.1.2
- domj4:dom4j is changed to org.dom4j:dom4j with version 2.1.3
- WebServices libraries (Metro) are updated to version 2.4.3 for Java 11 compatibility.
- Selenium Java client (org.seleniumhq.selenium:selenium-java) is upgraded to 3.141.59
Deprecated code and pending updates
- TestHarness - Deleted old (already deprecated) TestNG listeners. There is new easy way for ATS to listen for test lifecycle events. Removed listeners are AtsTestngClassListener, AtsTestngSuiteListener, AtsTestngTestListener including InitTestHarness class.
Instead of them use only AtsTestngListener. For painless work, currently we recommend TestNG 6.10 because newer versions have some identified issues. - Logging library - AutoLogger class is now deleted. Use AtsDbLogger instead.
- UI Engine - PhantomJS driver is now deleted because the third-party library used is outdated, without recent support.
- UI Engine - UiEngineConfigurator.set/isWorkWithinvisibleElements() methods are deprecated. This feature is planned to be removed. Clicking on non-visible elements is not recommended. Also this feature relies on internal third-party library code which could be changed at any time.
- Logging - For next versions it is expected that ATS Framework will migrate to
Log4j 2.x (from Log4j 1.2.x ) which has some incompatibilities/limitations. Such example is if you use advanced topics like attaching appenders runtime. It is expected that in simple cases you will not need any code modifications (like when just using Logger.info("msg") ).
Known issues and limitations
- [Environment cleanup] PostgreSQL backup/restore with drop tables enabled does not work for mixed case table names. E.g. backup of table People will not work whereas people is fine. Also table name enclosed in quotes produces error.
Test Explorer
Release notes for Test Explorer are located here
HTTP DB Logger
Release notes for HTTP DB Logger are located here