A brief of composite automation harness

The Composite Automation Harness is the java automation solution for Web UI, RESTful API and Windows GUI. It is built on top of Selenium, Jersey, AutoIT and TestNG.

1. Managed WebDriver and REST Client with rich features and possibilities
  • Web UI testing based on managed WebDriver with flexible listeners
  • RESTful API testing based on managed REST Client with flexible listeners
  • Both WebDriver and REST Client can be customized by user listeners to extend their capabilities
2. Secured and zero effort test data management with multiple data types
  • Both JSON and XLS is supported for test data
  • Auto-binding between test and data with zero effort, support data types: Boolean, Short, Integer, Long, Float, Double, String, JsonNode, TransformableTestDataBean(interface)
  • Auto-Decrypt to secured test data, user only needs to focus on data use
3. Test, data and config are modularized for the large project and multiple environments
  • All tests in multiple modules shared with base formwork and global configuration
  • Each test and data have own module, it is flexible for the large project
  • One test is mapped to multiple data sets for different environment
  • support data driven test
4. Secure network connection is easy
  • Network tunnels creation and deletion are managed by framework with multiple providers: JSCH, SSHJ, SSHD, PUTTY
  • Support the transaction in automation process
5. Rich report types(Console, XLS, HTML) and contents(function result, UI performance and API performance)
  • Report type has Console, XLS, HTML
  • Report contains Test ID, Name, Description, Duration, Timeline Records (Common, Action, Step, Screenshot, Assertion) Errors, Exceptions, Logs for each case. And provide ALL in ONE report
  • Provide performance reports of both Web UI testing and API testing without additional effort. Performance Monitor Types: Rest Client Monitor, Web Browser Monitor and Http Proxy Monitor
6. ECO Design Pattern
  • Auto-detect automation accident and auto-retry at right place and right timing within a minimum scope, and no retry code in test. This is one answer to question why human can do successfully but automation cannot
7. Framwork diagram

framwork