Code-less Test Automation
Scenario Building & Replay
SWATHub provides the test scenario builder - a WYSIWYG web GUI which allows testers to drag and drop business operations from the unified page repository, and orchestrate the business flow without any coding.
Unified Page Repository
SWATHub can smartly analyze the web pages, recognize business operations which comprise of several relevant web objects and elements, and then organize these web pages and their operations into a unified page repository.
SWATHub has inbuilt templates to parse and extract operations from many kinds of web pages, which are either based on HTML5 standard, or built with popular web frameworks such as Bootstrap, Material Design Lite, and so on.
Templates can also be customized in order to recognize the special interactive operations on your web pages.
Test Automation Functions
Frame and Window Switching - The web application with nested frames is very complicated and hard to be automated. SWATHub is able to identify operations in different frames and automatically switch frame contexts during execution. Multiple window handling is also supported in SWATHub.
File Upload and Download - File manipulations are always browser dependent and avoided in most automation scenarios. Nevertheless, SWATHub provides a universal mechanism to enable file upload and download for all modern browsers.
AJAX Support - As a popular frontend technology, AJAX partly refreshes the web pages and changes the HTML DOM frequently, thus static object identifications are always misleading during such changes. To cope this, SWATHub is able to analyze the dynamic web pages on the fly and leverage multiple weighted indicators to locate the object.
Multi Session Support - SWATHub is able to start up several browser sessions at the same time to simulate complex business scenarios with different user roles, across multiple web sites, or in variant time sequences.
External System Call - SWATHub can invoke external systems to simulate cross system transactions. For instance, first call Database API to prepare test data, then trigger browser actions to perform the transaction, and finally verify the transaction status via Database API.
Scenario Step Repetition - Each step including page operation and business flow can be repeated to support complicated test scenarios. For instance, operations can be repeated to navigate search results in multiple pages.
Design Pattern Support
Three Layers Model of Automation
In UI testing, Web Object, Page Operation and Business Flow are three layers from bottom to top. With the help of page repository, SWATHub organizes relevant web objects into page operations. Furthermore, SWATHub can also assemble several consecutive operations as a reusable business flow and utilize this flow across different test scenarios.
SWATHub emerges from behavior-driven development (BDD) which aims to provide software development and management teams with shared tools and a shared process to collaborate on software development. Analysts, developers and testers can work on the business stories (aka scenarios in SWATHub) together and minimize the gaps among different development stages.
SWATHub facilitates data-driven testing (DDT) which is able to eliminate hard-coded data inside the test scenarios and provide multiple sets of test inputs and verifiable outputs for a single test scenario.
Easy Test Maintenance
Page Update Detection
SWATHub can compare different versions of the same web pages, and sort out the updated operations which perhaps increase or decrease the number of involved web objects, or refresh the value of the web objects.
Scenario and Flow Update Detection
SWATHub can detect the influenced test scenarios and flows according to the updated operations, and help testers to quickly upgrade all relevant testware.
Case Update Detection
SWATHub can find out the changes of the case parameters, and advise testers to update accordingly.
Multiple Platform / Node Support
SWATHub leverages the prevailing Selenium WebDriver to support comprehensive platforms.
SWATHub supports different types of execution nodes in different deployment environments.
- Local browsers on laptops through WebDriver
- Mobile browser apps on real devices through Appium.
- Extended services such as Selenium Grid, SauceLabs or BrowserStack.
SWATHub manages execution nodes inside each test project respectively.
- Nodes can be shared by all project members, or dedicated to its owner only.
- Execution jobs can be assigned to a specific node or a node group with the same name.
|Windows 10||Firefox, Chrome, Edge, IE 11|
|Windows 8.1||Firefox, Chrome, IE 11|
|Windows 8||Firefox, Chrome, IE 10|
|Windows 7||Firefox, Chrome, IE 8/9/10/11|
|Windows Vista||Firefox, Chrome, IE 7/8/9|
|Windows XP||Firefox, Chrome, IE 6/7/8|
|Mac OS||Firefox, Chrome, Safari|
Jobs are the basic units to setup and schedule an automated test run in SWATHub.
- One or multiple test cases can be assigned in a job.
- One or multiple platforms can be allocated in a job.
- One time execution settings can be applied to the job to overwrite global settings.
Jobs can be started, stopped, deleted, and scheduled flexibly.
- Multiple test cases can run simultaneously across different platforms.
- Timed, periodic and triggered test runs can be configured with the integration of Jenkins.
Screenshot comparison against the baseline image is also supported to guarantee the visual verification.
Verification can be placed in multiple checkpoints of the test scenario, and configured whether exit or continue the execution in case of verification failure.
Test evidences can be exported into several formats such as XLS, HTML and ZIP for further validation.
SWATHub develops several open source tools to do complex verification tasks, for instance, the HTML Diff tool which can highlight the differences between two sets of HTML sources, the Screenshot Diff tool which can place multiple screenshots of different platforms into one XLS sheet side by side, and the Result Export tool which can download and save vast test results in batch.
SWATHub facilitates team collaboration for test projects. All members including designers, verifiers and stakeholders can contribute and share their efforts in the same workspace.
Different roles and privileges can be defined in the test project.
Multiple Test Sets can be created to organize test scenarios and cases for different test purposes.
Flexible ways like grouping, tagging, filtering and searching are provided to facilitate the management.
Test scenarios can be exported as plain text files and stored in any version control system, while test cases can be exported and imported through XLS file to improve the test data setup efficiency.
Test results and evidences can be exported as ZIP or XLS files for the sake of testware storage.
Test Scenario Extension
Inside test scenarios, SWATHub provides the entrypoints to communicate with any interconnected systems such as database, backend console to fetch case relevant information.
SWATHub provides APIs to retrieve testware such as test scenarios, test cases and business flows for further processing. For instance, all the testware can be exported as plain text files and stored in version control systems, for the sake of versioning and archiving.
Execution Service Integration
SWATHub can be integrated with cloud based platform such as SauceLabs and BrowserStack, or on-premise platform such as Selenium Grid.
SWATHub provides plugin for the leading open-source continuous integration platform Jenkins.
Bug Tracker Integration
Execution results and evidences in SWATHub can be easily referenced to issue/bug tracker systems such as JIRA and Redmine.
System administrators can manage all the users in SWATHub Enterprise, such as locking users, unlocking users, accessing user's workspace, resetting user's password, and etc.
Project maintenance operations can be performed including import/export, disabling/enabling, and etc.
Separate resource quota can be allocated to any single project, such as the size of page repository, and the storage of test evidences.
Multiple installation medias are provided for the ease of system setup, including virtual machine image, and software package.
System upgrade package are provided periodically and easy to apply without manual interventions.
Automatic backup jobs are enabled to protect system integrity, while restore scripts are also provided for disaster recovery.