Selenium 2_0000_!__2

6
Software de testare: Selenium IDE, Selenium RC, NUnit Web: http://seleniumhq.org , http://www.nunit.org 1. Selenium IDE Selenium IDE se instalează ca şi add-on al Firefox-ului şi permite înregistrarea şi rularea de teste aferente paginilor web. Caracteristici principale: Interfaţă uşor de utilizat Înregistrarea automată a paşilor urmaţi de către utilizator Selectarea câmpurilor unei pagini web pe baza id-ului sau numelui Posibilitate de depanare şi adăugare de breakpoint-uri Salvarea testelor ca şi HTML, PHP, C#,... Adăugarea de scripturi în „seleneză” sau alte limbaje cunoscute Un exemplu, de înregistrare a comenzilor utilizatorului, folosind Selenium IDE este prezentat în continuare. Pas 1. Apăsarea butonului roşu de înregistrare, din partea dreapta sus a ecranului, Pas 2. Tastarea linkului „www.google.com ” în browser, Pas 3. Tastarea textului „upt” în căsuţa de căutare, Pas 4. Apăsarea butonului de căutare, Pas 5. Apăsarea primului link, din lista link-urilor rezulate, „www.upt.ro ”, Pas 6. Selectarea textului „Universitatea ‘Politehnica’ din Timisoara”, buton dreapta, comandă verifyTextPresent. Comenzile înregistrate de către Selenium IDE sunt prezentate în Figura 1, iar codul HTML rezultat este următorul: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://selenium-ide.openqa.org/profiles/test-case"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="selenium.base" href="" /> <title>New Test</title> </head> <body> <table cellpadding="1" cellspacing="1" border="1"> <thead> <tr><td rowspan="1" colspan="3">New Test</td></tr> </thead><tbody> <tr> <td>open</td> <td>/</td> <td></td> </tr> <tr>

description

selenium

Transcript of Selenium 2_0000_!__2

Page 1: Selenium 2_0000_!__2

Software de testare: Selenium IDE, Selenium RC, NUnit Web: http://seleniumhq.org, http://www.nunit.org

1. Selenium IDE

Selenium IDE se instalează ca şi add-on al Firefox-ului şi permite înregistrarea şi rularea de teste aferente paginilor web. Caracteristici principale:

• Interfaţă uşor de utilizat • Înregistrarea automată a paşilor urmaţi de către utilizator • Selectarea câmpurilor unei pagini web pe baza id-ului sau numelui • Posibilitate de depanare şi adăugare de breakpoint-uri • Salvarea testelor ca şi HTML, PHP, C#,... • Adăugarea de scripturi în „seleneză” sau alte limbaje cunoscute

Un exemplu, de înregistrare a comenzilor utilizatorului, folosind Selenium IDE este

prezentat în continuare. Pas 1. Apăsarea butonului roşu de înregistrare, din partea dreapta sus a ecranului, Pas 2. Tastarea linkului „www.google.com” în browser, Pas 3. Tastarea textului „upt” în căsuţa de căutare, Pas 4. Apăsarea butonului de căutare, Pas 5. Apăsarea primului link, din lista link-urilor rezulate, „www.upt.ro”, Pas 6. Selectarea textului „Universitatea ‘Politehnica’ din Timisoara”, buton dreapta,

comandă verifyTextPresent. Comenzile înregistrate de către Selenium IDE sunt prezentate în Figura 1, iar codul

HTML rezultat este următorul: <?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head profile="http://selenium-ide.openqa.org/profiles/test-case">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<link rel="selenium.base" href="" />

<title>New Test</title>

</head>

<body>

<table cellpadding="1" cellspacing="1" border="1">

<thead>

<tr><td rowspan="1" colspan="3">New Test</td></tr>

</thead><tbody>

<tr>

<td>open</td>

<td>/</td>

<td></td>

</tr>

<tr>

Page 2: Selenium 2_0000_!__2

<td>type</td>

<td>q</td>

<td>upt</td>

</tr>

<tr>

<td>clickAndWait</td>

<td>btnG</td>

<td></td>

</tr>

<tr>

<td>click</td>

<td>//ol[@id='rso']/li[1]/h3/a/em</td>

<td></td>

</tr>

<tr>

<td>verifyTextPresent</td>

<td>Universitatea &quot;Politehnica&quot; din Timisoara</td>

<td></td>

</tr>

</tbody></table>

</body>

</html>

Figura 1 Comenzi Selenium IDE

Codul HTML rezultat poate fi exportat în diferite limbaje de programare utilizând opţiunile din meniul Options->Format, după cum arată Figura 2:

Page 3: Selenium 2_0000_!__2

Figura 2. Limbaje de scripting

Prin selectarea limbajului C#, se obţine următorul cod, identic ca şi conţinul cu codul HTML. Acest cod poate fi deschis ulterior în Visual Studio, adăugând sau modificând linii de cod – în acest fel C# devine un limbaj de realizarea a scripturilor pentru Selenium: using System;

using System.Text;

using System.Text.RegularExpressions;

using System.Threading;

using NUnit.Framework;

using Selenium;

namespace SeleniumTests

{

[TestFixture]

public class Untitled

{

private ISelenium selenium;

private StringBuilder verificationErrors;

[SetUp]

public void SetupTest()

{

selenium = new DefaultSelenium("localhost", 4444,

"*chrome", "http://change-this-to-the-site-you-are-testing/");

selenium.Start();

verificationErrors = new StringBuilder();

}

[TearDown]

public void TeardownTest()

{

try

{

selenium.Stop();

}

catch (Exception)

{

// Ignore errors if unable to close the browser

}

Assert.AreEqual("", verificationErrors.ToString());

}

Page 4: Selenium 2_0000_!__2

[Test]

public void TheUntitledTest()

{

selenium.Open("/");

selenium.Type("q", "upt");

selenium.Click("btnG");

selenium.WaitForPageToLoad("30000");

selenium.Click("//ol[@id='rso']/li[1]/h3/a/em");

try

{

Assert.IsTrue(selenium.IsTextPresent("Universitatea

\"Politehnica\" din Timisoara"));

}

catch (AssertionException e)

{

verificationErrors.Append(e.Message);

}

}

}

}

2. Comenzi Selenium

Acţiunile utilizatorului într-o pagină web, sunt transpuse de către Selenium IDE în comenzi. De asemenea, există comenzi suplimentare cu ajutorul cărora se realizează anumite teste de verificare asuprea conţinutului paginii respective. Verificarea este de două feluri: cu întreruperea testului sau cu continuarea acestuia. Comenzile de tip assert fac parte din prima categorie, iar cele de tip verify fac parte din cea de-a doua.

Exemple: <tr>

<td>assertTitle</td>

<td>Selenese Selenium Commands — Selenium Documentation</td>

<td></td>

</tr>

<tr>

<td>assertTextPresent</td>

<td>Selenese </td>

<td></td>

</tr>

<tr>

<td>assertElementPresent</td>

<td>//div[@id='selenese-selenium-commands']/h1</td>

<td></td>

</tr>

<tr>

<td>verifyElementPresent</td>

<td>//div[@id='verifying-page-elements']/p[1]/em</td>

<td></td>

</tr>

<tr>

<td>verifyTitle</td>

Page 5: Selenium 2_0000_!__2

<td>Selenese Selenium Commands — Selenium Documentation</td>

<td></td>

</tr>

3. Selenium RC (Remote Control)

Selenium RC este o completare a add-on-ului Selenium IDE, oferind posibilitatea automatizării testelor şi rularea scripturilor aferente, în diferite limbaje de programare. Arhitectura Selenium RC este prezentată în Figura 3.

Figura 3. Arhitectura Selenium RC După instalare, lansarea în execuţie se realizează cu ajutorul comenzii: java -jar selenium-server.jar,

necesitând o instalare prealabilă a unei versiuni de java începând cu 1.5. 4. Utilizarea clientului Visual Studio .NET

Pas 1. Instalarea framework-ului Nunit 2.5 Pas 2. Deschiderea editorului Visual Studio (sau a altui editor) şi crearea unui proiect

de tip Class Library Pas 3. Adăugarea referinţelor către următoarele biblioteci: nmock.dll, nunit.core.dll,

nunit.framework.dll,ThoughtWorks.Selenium.Core.dll,ThoughtWorks.Selenium.

IntegrationTests.dll and ThoughtWorks.Selenium.UnitTests.dll. Aceste biblioteci se găsesc în directorul de instalare al aplicaţiei Selenium RC, în subdirectorul selenium-dotnet-client-driver

Page 6: Selenium 2_0000_!__2

Pas 4. Exportarea în format C# a testelor din Selenium IDE sau crearea manuală a acestora. Dacă se foloseşte opţiune de export, atunci codul sursă produs de către Selenium IDE se suprascrie peste clasa creată în proiectul de la pasul 2.

Pas 5. Compilarea proiectului Pas 6. Deschiderea framework-ului NUnit şi deschiderea fişierului .dll reuzultat în

urma compilării de la pasul anterior Pas 7. Rularea testului 5. TODO

Crearea mai multor suite de test, utilizând scripturi C# pentru testarea aplicaţiei web de la adresa: http://193.226.11.250.