Testowanie aplikacji sieci WEB

WatiN jest to biblioteką dzięki której będziesz mógł przetestować swoja aplikację pod kątem wyniku jaki zostanie uzyskany przy wyświetlaniu strony. Sprawdzisz czy wynik jaki uzyskałeś jest tym co miałeś zamiar uzyskać.

A teraz króciutki przykład. Tworzymy bibliotekę, projekt dla NUnit.

using System.Threading;
using WatiN.Core;
using WatiN.Core.Exceptions;
using NUnit.Framework;

namespace itblogs.pl
{
[TestFixture, Description("Watin class Test")]
public class TestWatin
{
	[TestFixtureSetUp]
	public void Init()
	{
		System.Threading.Thread.CurrentThread.SetApartmentState(ApartmentState.STA);
	}
	[Test]
	public void WatinIE()
	{
		using (IE ie = new IE("http://www.google.pl"))
		{
			ie.TextField(Find.ByName("q")).TypeText("itblogs");
			//ie.Button(Find.ByValue("Szukaj w Google")).Click();
			ie.Button(Find.ByName("btnG")).Click();
			int i = 3;
			do
			{
				try
				{
					ie.Link(Find.ByUrl("http://itblogs.pl/blogs/")).Click();
				}
				catch (ElementNotFoundException exp)
				{
					ie.Link(Find.ByText("Następna")).Click();
					i = 0;
				}
			}
			while ((--i) > 0);
			Assert.IsTrue(i < 0);
		}
	}
}

Ponieważ aplikacja musi być uruchomiona w trybie STA nie wystarczy tylko inicjalizacja podczas początku testu. Musimy dodać plik z rozszerzeniem config którego nazwa jest taka jak nazwa pliku dll i jest w tym samym folderze co tenże plik. Np:  mojtest.dll, nazwa pliku config to mojtest.dll.config.
Więcej informacji na ten temat możesz uzyskać na stronie Nunit oraz na stronie projektu WatiN.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<configSections>
		<sectionGroup name="NUnit">
			<section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
		</sectionGroup>
	</configSections>
	<NUnit>
		<TestRunner>
			<!-- Valid values are STA,MTA. Others ignored. -->
			<add key="ApartmentState" value="STA" />
		</TestRunner>
  </NUnit>
</configuration>

Może napisany przykład nie działa zachwycająco szybko ale nie to jest celem. Projekt jest nadal rozwijany i warto obserwowac jego postępy. Dzięki niemu można też testować  aplikacje przy użyciu FireFox wszystkie dostepne narzędzia są w paczce którą ściągamy.

Leave a Reply

Your email address will not be published.