Magenic's Automation Quick Start
MAQS is an open source automation test framework, a collection of libraries and packages to quickly start an automation project. It adds automation test templates and robust automation features that can be built upon, or repurposed for other automation projects.
MAQS is built on top of Selenium and uses the Selenium WebDriver to drive testing. MAQS provides configurations for Selenium Grid. MAQS uses the Page Object Model design pattern for its project structure to separate the Selenium logic from the testing logic.
MAQS can leverage two different test frameworks, the Microsoft Unit Test and NUnit, for test execution.
MAQS is a quick start for web UI automation projects. MAQS provides templates, configuration files, libraries, and helper methods to reduce the time required to initiate a test project with little setup.
How to use
To create a new MAQS project, simply create a new solution using the MAQS templates, restore the MAQS NuGet package to retrieve all needed dependencies, and compile the project. The template included is a compilable test solution that includes a number of generic pre-written tests.
Templates for selenium page models and unit test models are included with the framework.
MAQS provides generic wait methods that can be used without having to write code for explicit/implicit waits that Selenium provides. These methods wrap up common patterns that are used when a test interacts with a page, methods that wait for dynamic page elements to appear/disappear or become clickable.
MAQS provides logging in multiple file formats, as well as different logging levels depending on the importance and category of the log message. The logging levels can be used to suppress or log different kinds of information such as errors, warnings, successes, informational, generic messages, or logging to be altogether suspended.
MAQS provides soft asserts that are used to store test assertions in a collection, and will not fail a test until the test explicitly calls for it. This is useful for making multiple assertions, logging the results of those assertions, storing those results into a collection, and letting the tester decide how to handle any failed asserts without throwing an exception.
MAQS provides the ability for screenshots to be taken of the browser window at any given point in a test, or by default a screenshot to be taken upon a test failing. This is useful for collecting data for when a test fails and/or verifying visual components of the web page under test.