View on GitHub


An automation framework

Build status


Automation Framework


Install Typhoon NuGet package into your project.

PS> Install-Package Typhoon

After installing NuGet package your project will be modified. Typhoon.dll.config file will be added.


All settings are stored in Typhoon.dll.config file which was added into your project by nuget installation.

		<section name="typhoon" type="Typhoon.Configuration.TyphoonSection, Typhoon, Version=, Culture=neutral, PublicKeyToken=null"/>
		<timeout explicitWait="25" implicitWait="5" existsWait="2"/>
		<webDriver name="chrome"/>
		<application baseUrl=""/>

Configuration Elements


Property Description
explicitWait The max time that page factory waits for an element
implicitWait Retry time for finding an element
existsWait The max time that factory waits for checking that element exists


Property Description
name Type of web driver. Could be one of chrome, firefox, iexploler


Property Description  
baseUrl   The base URL of your application


Sample project you can download here. The custom page factory can resolve nested items. It means you can declare web elements inside another.

Let’s implement simple login page where you can see how yo use it.

class LoginForm : HtmlElement
    [FindBy(How.CssSelector, "#username")]
    public TextBox UserName { get; set; }

    [FindBy(How.CssSelector, "#password")]
    public TextBox Password { get; set; }

    [FindBy(How.CssSelector, ".login")]
    public Button Login { get; set; }

class HomePage : WebPage
    [FindBy(How.CssSelector, ".login-form")]
    public LoginForm LoginForm { get; set; }

var home = = PageFactory.Get<HomePage>();