-
Notifications
You must be signed in to change notification settings - Fork 1
Home
An introduction to TestUnium.
Welcome to the TestUnium wiki!
- What is TestUnium? Ideas behind, goals, challenges.
- TestUnium is not a test runner...yet:)
- I don't want to read stories, I want to start coding
TestUnium was originally born from java library to help in writing UI tests for my wife :). The matter is that, and you will agree with me, that in each mostly UI test solution automation QA is forced to write his own extensions, for instance extension methods for Selenium IWebDriver and IWebElements, and code infrastructure based on rules of certain test runner to avoid code duplication, ensure good encapsulation. At one moment we also were starting solving these problems and it's a place where an idea of TestUnium came from - to supply automation QA engineers with efficient tools for which lacking in existing test runner frameworks and other domain frameworks such as Selenium WebDriver. Eventually it has grown to standalone .NET-based framework which may be used not only in UI testing.
Goals of TestUnium may be phrased as following:
- To give flexible and understandable convenient-to-use infrastructure for test developers.
- Given infrastructure must ensure:
- following SOLID principles,
- having good encapsulation and abstraction level, avoiding of duplication of code,
- guaranteeing transparency of code infrastructure, maintainability and scalability of code regardless of complexity and size of testing solution.
- Developing tests with TestUnium must encourage test developer to use well-known programming technics, established design patterns while developing code.
- Must ensure an ability to extend framework as much components as possible for making extensions and plugins which will satisfy needs of developers.
So, TestUnium is a toolset, which is built using Design Patterns, Dependency Injection, with elements of Aspect Oriented Programming, which helps to keep your code clean, maintainable, structured, helps to be compliant with SOLID principles, which is extremely important for big and complicated test projects with tons of functionality to be tested in different mods and conditions. It gives you sophisticated infrastructure to build high scalable and productive tests. TestUnit is modular framework. So far it consists from following modules:
- TestUnium - core module which contains an "engine" of the framework: basic abstractions and implementations used in other modules and ready to use by other developers.
- TestUnium.Selenium - framework module integrated with Selenium WebDriver for developing UI tests.
As it started as add-on with several useful classes that completes test runner frameworks it couldn't run tests from birth and we haven't teach it to do it since lots of already developed tools are available for use like XUnit, NUnit, etc. Thus keep in mind all following consequences:
- TestUnium cannot run your tests, you still need choose existing one and follow it's rules.
- TestUnium doesn't affect test flow and as useful symbiotic works atop of ones.
- TestUnium offers instruments but doesn't oblige you to use all or any of them. In each particular situation you may choose different functionality for successful resolving of your task.
In fact TestUnium is a bridge between test runner frameworks and other tools which are required for developing of various type of tests (for example Web UI tests). Maybe in future when existing ones wont satisfy our ideas and needs anymore we will raise TestUnium to test runner.
In this case we advise you to start from looking into demo projects and Get started article.
We wish you good luck in your professional endeavors and, please, feel free to ask any questions and contribute to TestUnium project if you want!
Index
- Overview
- Operation manual
- Advanced usage