-
Notifications
You must be signed in to change notification settings - Fork 0
WTF Core API
Kumar Vikram edited this page Jul 21, 2014
·
3 revisions
#** User Guide** 1 Getting Started ## 1.1 Introduction ## 1.1.1 Why WTF?
- Designed to solve generic test automation problems. Fits everywhere and scales nicely.
- Solves TestNG WebDriver thread integration problem using dependency injection design pattern. Pros: Synchronization less approach, smooth test execution, same performance with higher number of thread.
- Dependency injection design pattern for injecting thread safe test dependencies directly on test method's parameters. Pros: WebDriver, WebDriverWait, Browser and Site objects are injected directly on test methods. Provides cleaner implementation for Test Setup & Tear Down blocks separated from the Test block. Pros: Didn't use @Before and @After annotation approach due to object synchronization requirements for accessing test dependency inside the Setup & Tear down.
- Provides overridable protected SetUp methods for implementing custom module level test Set Ups.
- Tear Down exposed thru a callback service, ability to add multiple tear down methods on map, tear down methods executed as FIFO.
- Provides the same support at class and suite level.
- Provides a brand new page object design pattern using pure Java ENUM for a cleaner, scalable and readable
- WebDriver Page Object Model.
- Provides single and concise WebDriver Util library for accessing element state on browser DOM, compatible with multiple browsers, uses explicit wait polling technique for an improved and stable test output. Pros: A single static class with multiple static methods, all methods has been implemented to accept WebDriver and WebDriverWait object thru method parameter, this approach makes it a 100% framework neutral one.
- Provides easy-to-read test results and logs in a raw text format.
- Provides a command line interfaces to control all framework features.
- Provides support for Multi-Threaded WebDriver UX testing, Multi-Threaded Java Soap testing, Multi-Threaded
Java API testing, and so on. Pros: Architecture that supports addition of any new testing tools with Multi-Threading support. - Has built-in support for multi-browser, multi-site features.
- Provides filter support to filter tests by browser, site and feature preferences.
- Ability to run Multi-Browser, Multi-Site combinations inside a single test session. Pros: A single job can run any possible combinations of browser and site, which eliminates the requirement of maintaining multiple jobs.
- TestNG XML based suit file is an evil, WTF can easily get rid of that and still support all functionality that you can achieve using xml files through it's command line feature.
- Provides ability to re run a particular test, method, suite for N number of times to study the test stability.
- Provides ability to re-try failing tests which help test developers to differentiate between a consistently
and randomly failing test cases. - Provides support to work with WebDriver Grid. Pros: Retry based primary and backup grid support.
- Provides exceptional debugging support.
- Provides Screenshot support
- Provides a smart email to test owner feature.