Přeskočit na obsah

Selenium (software)

Z Wikipedie, otevřené encyklopedie

Šablona:Infobox Software Selenium je nástroj pro automatické testování webových aplikací, skládající se z několika navzájem se doplňujících komponent: Selenium IDE, Selenium RC, Selenium WebDriver a Selenium Grid.


Selenium IDE

Původní komponenta dostupná jako plugin do internetového prohlížeče Mozilla Firefox. Jedná se o nejjednodušší způsob, jak se Seleniem vytvořit automatické testy, neboť ty se nahrávají obdobně jako např. makra v kancelářském balíku Microsoft Office. Instalace probíhá stejně jako u všech ostatních doplňků u tohoto prohlížeče. Pro uložení příkazu využívá Selenium IDE sadu pokynů (nazývaných Selenese). [1] Tyto pokyny jsou uloženy ve formě řádků HTML tabulek, kdy každý řádek má tři buňky:

  1. Specifikace příkazu
  2. Argument
  3. Argument

Jednoduchý test může tedy vypadat následovně:

  1. Otevři stránky www.google.com
  2. Napiš heslo: "Wikipedia" do elementu s id "gbqfq"
  3. Klikni na odkaz s textem: "Wikipedie, otevřená encyklopedie" a počkej, než se stránka načte

Takto vypadá uložený test ve své pravé podobě (napravo ukázka zaznamenaného testu v Selenium IDE):

Nahraný test v prostředí Selenium IDE
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">selenium_wiki</td></tr>
</thead><tbody>
<tr>
	<td>open</td>
	<td>http://www.google.cz</td>
	<td></td>
</tr>
<tr>
	<td>type</td>
	<td>id=gbqfq</td>
	<td>Wikipedia</td>
</tr>
<tr>
	<td>clickAndWait</td>
	<td>link=Wikipedie, otevřená encyklopedie</td>
	<td></td>
</tr>

</tbody></table>
</body>

Selenium RC

Selenium RC je nástroj umožňující vytváření automatických testů ve velké škále programovacích jazyků. Základním stavebním kamenem Selenium RC je server, který představuje proxy server pro instance internetového prohlížeče, které sám spouští a vypíná. Pro každý z podporovaných jazyků je připravena knihovna funkcí. Oproti Selenium IDE má několik výhod:

Ukázka testu v C#

using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using NUnit.Framework;
using Selenium;

namespace SeleniumTests
{
    [TestFixture]
    public class NewTest
    {
        private ISelenium selenium;
        private StringBuilder verificationErrors;

        [SetUp]
        public void SetupTest()
        {
            selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com/");
            selenium.Start();
            verificationErrors = new StringBuilder();
        }

        [TearDown]
        public void TeardownTest()
        {
            try
            {
                selenium.Stop();
            }
            catch (Exception)
            {
                // Pokud se nepodaří zavřít prohlížeč, ignoruj chyby
            }
            Assert.AreEqual("", verificationErrors.ToString());
        }

        [Test]
        public void TheNewTest()
        {
            selenium.Open("http://www.google.com");
            selenium.Type("id=gbqfq", "Wikipedia");
            selenium.Click("link=Wikipedie, otevřená encyklopedie");
        }
    }
}

Selenium WebDriver

Selenium Grid

Zdroje