.NET

Selenium Grid Hub extensions for the NUnit framework

About

A tools library with Selenium Grid Hub extensions for the NUnit unit testing framework.


Installation

To install Selenium Tools library, run the following command in the Package Manager Console:

PM> Install-Package Devbridge.SeleniumTools

Configuration

You have two options to configure Selenium Tools library. The second one is very useful if you don't want to commit credentials to source control.

Add following app settings to the app.config file:


<!-- An URL to access a Selenium Grid Hub. -->
<add key="DEVBRIDGE_SELENIUM_GRID_URL" value="http://ondemand.saucelabs.com:80/wd/hub"/>

<!-- An URL to access a Selenium Grid HubApi. -->
<add key="DEVBRIDGE_SELENIUM_GRID_API_URL" value="http://saucelabs.com/rest/v1/"/>

<!-- No default value. A username to access a private Selenium Grid Hub. -->
<add key="DEVBRIDGE_SELENIUM_GRID_USERNAME" value="[your-selenium-grid-hub-username]"/>

<!-- No default value. A access key (password) to access a private Selenium Grid Hub. -->
<add key="DEVBRIDGE_SELENIUM_GRID_ACCESS_KEY" value="[your-selenium-grid-hub-access-key]"/>

<!-- A browser platform. Available values: [Android|Linux|Mac|Unix|Vista|Windows|WinNT|XP]. -->
<add key="DEVBRIDGE_SELENIUM_GRID_PLATFORM" value="Windows 8"/>

<!-- A browser type. Available values: [android|chrome|firefox|ipad|iphone|ie|opera|safari].-->
<add key="DEVBRIDGE_SELENIUM_GRID_BROWSER" value="IE" />

<!-- A browser version. -->
<add key="DEVBRIDGE_SELENIUM_GRID_VERSION" value="10" />

 

Add following settings as an System Environment Variables:

DEVBRIDGE_SELENIUM_GRID_URL=http://ondemand.saucelabs.com:80/wd/hub

DEVBRIDGE_SELENIUM_GRID_API_URL=http://saucelabs.com/rest/v1/

DEVBRIDGE_SELENIUM_GRID_USERNAME=[your-selenium-grid-hub-username]

DEVBRIDGE_SELENIUM_GRID_ACCESS_KEY=[your-selenium-grid-hub-access-key]

DEVBRIDGE_SELENIUM_GRID_PLATFORM=Windows 8

DEVBRIDGE_SELENIUM_GRID_BROWSER=IE

DEVBRIDGE_SELENIUM_GRID_VERSION=10

 

Please register on https://saucelabs.com/ or http://www.browserstack.com/ to get Selenium Grid Hub credentials.


Sample

using System;
using Devbridge.SeleniumTools.NUnitExtensions;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;

namespace Devbridge.SeleniumTools.Examples.Web.Tests
{
    [TestFixture]
    public class GoogleComTests : SeleniumTestBase
    {
        [Test(Description = "Should find a www.devbridge.com website and navigate to it.")]
        public void ShouldFindDevbridge()
        {                       
            Driver.Navigate().GoToUrl("http://www.google.com");
            Console.WriteLine("www.google.com opened.");

            var textInput = Driver.FindElement(By.Name("q"));            
            textInput.SendKeys("Devbridge Group");
            textInput.SendKeys(Keys.Enter);            
            Console.WriteLine("Searched for 'Devbridge Group'.");

            WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(10));            
            var devbridgecomLink = wait.Until(webDriver => webDriver.FindElement(By.XPath("//a[@href='http://www.devbridge.com/']")));            
            Console.WriteLine("Search results arrived.");

            devbridgecomLink.Click();
            Console.WriteLine("Clicked on www.devbridge.com link.");

            wait.Until(webDriver => webDriver.FindElement(By.ClassName("news-block")));
            Console.WriteLine("www.devbridge.com opened.");
        }
    }
}

Devbridge Selenium Tools are freely distributable under the terms of an Apache V2 license.

Authors

Paulius Maciulis / @pauliusmac

Rimvydas Urbonas / @rimvydasurbonas

What is Sourcery?

All of these components are Open Source.