Golem.Core, Setup - ProtoTest/ProtoTest.Golem GitHub Wiki

=====

###Event driven C# Framework

Golem is an event-driven test automation framework written in C# utilizing the Gallio/MbUnit testing platform. It builds on Gallio's reporting capabilities and provides a basis for more flexible testing using the Page Object pattern. Golem encapsulates the code and best practices most companies need for wrangling enterprise-scale test suites.

Golem test suites are structured as typical unit tests. Each test is marked with the MbUnit unit [Test] attribute--each test becomes executable separately by Gallio Icarus or Testdriven.Net. Additionally, Golem provides a Config class and an App.Config file for greater control of the tests runtime settings. Further, since Golem is event-driven, there are a variety of events that get triggered automatically. In your test class you can define methods that are called when these events are fired.

Golem has three goals:

  • Simplify the design and coding costs of automation test suites by providing enhanced API’s and an intelligently designed library.
  • Define and enforce a standard test structure which facilitates code readability and re-use.
  • Provide features that enhance test automation such as diagnostic information (screenshots, HTTP requests, logging, etc.).

###Getting Started With ProtoTest.Golem: ####Requirements:

####Starting a Golem project Golem is packaged and distributed via NuGet. To start a project using Golem, use the NuGet package manager bundled with Visual Studio Professional for C#.

To add the NuGet dependency:

  1. Create a new C# project or open an existing one.
  2. Open the NuGet package manager by clicking "Tools" -> "NuGet Package Manager" -> "Manage NuGet Packages for Solution" in the Visual Studio menu bar.
  3. Click the 'Online' NuGet source from the left side of the window.
  4. In the search box in the upper right, search for "Golem".
  5. Click "Install" on the Golem search result.

NuGet will download Golem and its dependencies, and configure your project to use Golem. Now you can write your page objects and test classes. See "Golem.WebDriver Getting Started" for information on starting a Selenium test.

####Updating to the latest Golem version Golem is continually supported with new feature additions and compatibility updates.

To update an existing project's Golem dependency to the latest version:

  1. Open the NuGet package manager by clicking "Tools" -> "NuGet Package Manager" -> "Manage NuGet Packages for Solution" in the Visual Studio menu bar.
  2. On the left side, click "Updates".
  3. If there is a Golem update available, it will be listed. Click the "Update" button to retrieve the updated Golem version.

After the update completes, test your project to ensure it works. If you run into problems, file an issue at https://github.com/ProtoTest/ProtoTest.Golem/issues.

###Things to know:

  • C# and .Net 4.0
  • Built upon Gallio and MbUnit. (gallio.org) Build the project into a dll, open dll in Gallio Icarus to execute.
  • Multi-threaded support (Parallel test execution)
  • Fully configurable programatically or with an App.Config. Config class reads the App.config and stores all values as properties. Each value should have a default defined.
  • Built on the Page Object Design Pattern. Page Objects should inherit BasePageObject
  • Test class should inherit TestBaseClass, and each test function should be marked with the [Test] attribute.
  • You can use MbUnit.Framework.Assert to make assertions. These will stop the test on failure.
  • Supports data driven testing through MbUnit attributes.