Skip to main content

Fresh brew with NUnit for Selenium over a cuppa VS2010 Express’o

 

Selenese coffee beans

1) A recorded Selenium script for a simple scenario of googling for the term Tomato. This recording should have been saved as an export in C# format.

2) VS2010 express editors – for C# and Web dev

3) MS Excel

4) Browsers – Chrome, Firefox, IE

5) WebDriver for Google Chrome

Prepare the Coffee Machine

Let’s install NUnit extension, NuGet package manager, Selenium packages and include MS Excel Interop reference into VS2010.

Essentially 2 different editors are required from the VS2010 stable:

a) Microsoft Visual C# 2010 Express – get NUnit

b) Microsoft Visual Web Developer 2010 Express – to get NuGet and Selenium

 

Let’s get started with Microsoft Visual C# 2010 Express –

Invoke Extension Manager:

1. Invoke VS 2010 Express Extension Manager

Browse the Online Gallery and download NUnit Test Application:

2. Visit Online Gallery to download NUnit Test Application

Install NUnit:

3. Download and Install NUnit

Confirm that installation succeeded:

4. On successful installation of NUnit

and this page is displayed in your default browser:

5. On successful installation of NUnit

Choose to create a New Project:

6. Create New Project

Select the NUnit Test Application template for new project, and click on OK:

7. New Project Template - NUnit Test App

A new NUnit Test Project gets created with several useful references that make the NUnit features available to this VS2010 project:

8. Default files in an NUnit project

Now save this project and close this editor.

Launch Microsoft Visual Web Developer 2010 Express (in some cases one may need to invoke this as an Administrator, for installation of NuGet) and open the same project that we saved above.

Launch the Extension Manager and Search for NuGet Package Manager. Install this extension. One may need to close VS2010 and re-launch it on successful installation. Post-installation, confirm that the Library Package Manager menu item is visible in the VS2010 Web Dev Express editor:

9. NuGet Library Package Manager

Open the saved project and then Invoke the Package Manager Console – at the prompt, run this command:

PM> Install-Package Selenium.Support

as per the guidelines here: http://www.nuget.org/packages/Selenium.Support

image

This would trigger a dependency check and all required packages including Selenium.WebDriver should get installed. One may alternately choose to go per the seleniumhq website and individually install the WebDriver first and then the Support packages.

Now choose to add a reference to the project:

image

In the Add Reference dialog, select and add reference to Microsoft Excel Object Library (for Excel 2010):

image

After the reference gets added, expand the References section in Solution Explorer to ensure that these packages are present:

a) Microsoft.Office.Core

b) Microsoft.Office.Interop.Excel

image

Pour the Coffee in a Mug

Let’s now open the Selenium C# script for Firefox. Copy all its contents. Paste into a new Class in VS2010.

Build the project.

Create new classes for IE and Chrome.

Build the project.

Copy Chrome driver file to the VS2010 project’s \bin\debug folder:

image

Sip the Coffee

Run the NUnit project.

Source code is uploaded here (minus these reference packages, in best interest of size):

PackagesList - to be installed for the project

Here’s the run session:

NUnit – Selenium – Chrome_FF_IE

Comments

Popular posts from this blog

Experimenting with Visio and VBScript

This diagram is created:               using this code:                                                                         Copy the code: Option Explicit Dim strVSDPath, filesys Dim vsoApplication, vsoDocument, vsoPages, vsoPage Dim vsoMaster1, vsoMaster2, vsoStencil Dim vsoShape1, vsoShape2, vsoConnector1 Dim itr Const visAutoConnectDirDown = 2     'Connect down. Const visAutoConnectDirLeft = 3     'Connect to the left. Const visAutoConnectDirNone = 0     'Connect without relocating the shapes. Const visAutoConnectDirRight = 4     'Connect to the right. Const visAutoConnectDirUp = 1         'Connect up. ' Visio file to be created. strVSDPath = "D:\Workspace_Visio\TestRunFlow.vsd" 'delete any previously existing Suite file Set filesys = CreateObject("Scripting.FileSystemObject") If filesys.FileExists(strVSDPath) Then     filesys.DeleteFile strVSDPath End If Set filesys = Nothing &#

Excel Automation and a palatable QTP Suite

  Excel automation and VBScript can be used to create a test suite that can control the run sequence of QTP scripts and present a Summary report of the automation run cycle. Its simple enough to double-click an icon and the VBScript program will create an excel sheet, populated with all the scripts from a Test folder. Here’s the folder structure: Click here to get the files.   The CreateSuite.vbs program creates an excel sheet .. .. and populates it with all the QTP scripts from the Tests folder (folder hierarchy within the Tests folder does not matter, a valid script folder will be fetched). Here’s how the excel sheet looks after running the CreateSuite program: This Test Suite has been created in the TestSuite folder, as the Suite.xls file: Once the list of tests is available, one can choose to configure a subset of the listed tests to be run, like in the case below, we turn off the fourth test: Now that the list of tests to be run is ready, we

QTP – search sub-folders for existence of QTP scripts

  Suppose we want to report on all subfolders in a specific root folder that contain script files. Consider the example folder structure here – ODBC_MYSQL, ODBC_SQLEXPRESS and Test1 are the folders that have QTP scripts: Here’s a VBScript program that takes the root (start) folder as input, and iterates all subfolders recursively to report on the ones that are actual QTP script folders: Note: This program can be run directly as a VBScript program, or from within a QTP script by toggling the comment between lines 17 and 18. (p.s.: if Print statement does not work on specific version of QTP, use the Msgbox statement. For real world test automation projects, do not use either – to avoid human intervention!) On running the program, Folders across various levels (Level 2, 3) get reported!