As Parasoft updated and enhanced our API for the new extension framework introduced in version 9.5, several changes were made that might impact any extensions and customizations you and your team implemented in earlier versions of SOAtest / Load Test. This topic explains Extension Framework API changes that might impact your existing customizations (custom extensions, Extension tools, scripted actions, etc.).
Section include:
Scripts Written in Java
com.parasoft.api.ExtensionToolContext.addDataSource()
The method now returns java.lang.Object instead of undocumented type DataSourcePosition.
Impact: This is a deprecated method. It was previously used to indicate that the Extension Tool used a data source. This can now be accomplished by toggling a checkbox in the UI. If you previously used Java for scripting, the script will need to be updated to avoid a NoSuchMethod error at runtime. DataSourcePosition has been removed from the interface definition, but the object is of the same type, meaning that a cast will be required if you are getting a handle to the returned object. If scripting was implemented without Java, there is no impact.
com.parasoft.api.ScriptingContext.getValue()
com.parasoft.api.ExtensionToolContext.getValue()
These methods now throw IOException instead of DataSourceException.
Impact: DataSourceException has been removed from the interface definition. Before recompilation, any Java code that handles DataSourceException will need to be updated to handle IOException instead. If scripting was implemented without Java, there is no impact.
Custom QOS Metrics and Stop Actions (Load Test)
com.parasoft.api.loadtest.QOSUtil (All Methods)
All methods return object instead of undocumented type QOSMetric.
Impact: QOSMetric has been removed from the interface definition. If you previously used Java for scripting, the script will need to be updated to avoid a NoSuchMethodError at runtime. In addition, if you were retrieving a handle to the returned object, then a cast will need to be made. If scripting was implemented without Java, there is no impact.
com.parasoft.api.loadtest.output.LoadTestOutput.getGraphOutputs()
Removed the undocumented type GraphPoint from the returned Vector.
Impact: GraphPoint has been removed from the interface definition. You can continue using an already-compiled version of this class without issue. However, issues will arise if you try to recompile with the new version of the project. In this case, a cast is required.
Custom Extensions - Transports
com.parasoft.api.transport.CustomTransportConfiguration
No longer extends CustomConfiguration or undocumented type AbstractCustomConfiguration.
Impact: CustomConfiguration provided access to a get() method, which is still available. The undocumented type AbstractCustomConfiguration can no longer be used.
com.parasoft.api.CustomConfiguration
No longer available.
Impact: None. This was extended by CustomTransportConfiguration , and CustomTrafficProviderConfiguration. This class only provides a single method named get() that is still available in the listed classes even though they no longer extend this class.
Event Logging from Extension Tools or Scripts
com.parasoft.api.Event
No longer extends undocumented type SimpleEvent.
Impact: Undocumented methods from the superclass can no longer be used.
Deprecated WebKing CLI, HttpUnit, and Load Test APIs
webking.api.app, com.parasoft.remote, webking.api.ArgumentHandler
No longer available.
Impact: The deprecated classes in these packages represent a way to access the legacy WebKing CLI using Java. Code using these classes will need to be run with a version of SOAtest earlier than 9.5. To run tests headlessly with version 9.5 or later, use the SOAtest CLI or web service interface.
webking.common.httpunit and webking.httpunit
No longer available.
Impact: The deprecated classes in these packages were used by HttpUnit test cases that were gener-ated by WebKing. Code using these classes will need to be run with a version of SOAtest earlier than 9.5.
webking.api.WebKingUtil
No longer available.
Impact: This class provided deprecated methods for retrieving browser contents in scripts for web functional tests. These methods have been replaced by equivalent methods in com.parasoft.api.BrowserContentsInput. In addition, there were other methods in this class that were used to access WebKing CLI, scanning, functional, and load testing functionality that has not been present since SOAtest 9.0.
webking.api.BrowserUserScript, webking.api.BrowserVirtualUser, webking.api.SimpleUserScript, webking.api.SimpleVirtualUser
No longer available.
Impact: The deprecated classes in these packages were used in WebKing Load Testing. They have been unusable since SOAtest 9.0.
Unused APIs
com.parasoft.api.traffic.CustomTrafficProviderConfiguration
No longer available.
Impact: None. This class was never used.
com.parasoft.api.MethodNameCollector
No longer available.
Impact: None. This class is never referenced or passed around in the API.
webking.api.WebKingError
No longer available.
Impact: None. This class is never referenced or passed around in the API.