Releases: mkrishna4u/smart-testauto-framework
Authentication provider support in api testing
Added authenticationProvider support in API testing to hold the connections for each user profile. API scenario context is created for each scenario but authentication provider is created automatically (and cached for future use) when the active user profile will get set. so only one connection / auth provider will be created for each user profile on the same application + target server.
Parallel threads support from maven command line
- Added maven command line system property -Dparallel.threads= to support running scenarios in parallel. make sure in TestNG runner DataProvider is set have parallel = true.
- Removed PARALLEL_MODE property from TestConfig.properties file.
Enhancements on Parallel Scenario Execution and Information sharing from one step to another step.
This release supported the following:
- Added one flag PARALLEL_MODE in TestConfiguration.properties file to run scenarios in parallel mode.
- Added SmartCucumberUiScenarioContext and SmartCucumberApiScenarioContext cucumber CDI classes for information sharing from one step to another (step may be present in different step definition class file).
Minor enhancements and bug fixes
The following enhancements and fixes are done:
- Fixed the image recognition.
- Updated netty version
- Enhanced for db profile recognition on different environments isong appConnector.
Minor changes
The following changes are made:
- Updated to new 3rd party libraries
- Removed TouchActions and MultiTouchActions support as Appium is not supporting that. Use Actions instead to perform the operation. See more details on Appium site to perform touch operations.
- Added more utilities classes.
Major change to support multiple environments without changing the existing code
The releases (3.0.0 and 3.0.1) are a useful running same test scenarios on multiple environments without changing the code when the application behavior is same on different environments (like test, acceptance, pre-production, firefox, chrome, opera, native app, mobile, windows, linux etc.). Just add the environment configuration in test-config/apps-config/<app-name>/environments/ directory and run your testcases by using the mvn command as given below:
mvn verify -Dapps.active.environment=:,:
Also added the following support:
- Added XMLDocumentReader and XMLDocumentValidator classes that can be used to read xml data as string or xml data from file and that data can be validated using XMLDocumentValidator class.
How to migrate from prior version 2.x.x to 3.x.x:
A. Migrate existing configurations present in test-config/* directory as follows
- Create the following directories for each application configuration
test-config/apps-config/<app-name>/api-configs
test-config/apps-config/<app-name>/driver-configs
test-config/apps-config/<app-name>/environments
- For each configured application, move ApiConfig.properties file from test-config/apps-config/ to test-config/apps-config/<app-name>/api-configs directory
- For each configured application, move AppDriver.properties file from test-config/apps-config/<app-name>/ to test-config/apps-config/<app-name>/driver-configs/ directory
- Now if you are interested to create any environment then create environment file like acceptance2.properties (Note this file can overwrite any property present in AppConfig.properties file to create a new environment) under test-config/apps-config/<app-name>/environments directory and the file name acceptance2 can be used as environment file name to run the tests using maven as specified above.
Minor bug fixes
- Corrected the name of the screenshot file.
Minor bug fixes
- Fixed the session expiry and logout issue.
Added new enhancements
- Added FieldValidator class to validate the field value.
- Enhanced StringUtil class to support more checks.
Minor and useful enhacements
- Added SmartCache, DefaultSmartCache classes to store global data that can be used in any testcase or test step.
- Added TestDataBuilder class to build randomized test data of any length.