Selenium

Pēdējais mainījis superadmin 2018-01-12 21:34

Invalid macro parameters used for the "toc" macro. Click on this message for details.

Selenium apraksts

Testēšana ir programmatūras vienumu jeb testēšanas objektu analīzes process, lai atklātu atšķirības, piemēram, kļūdas vai problēmas, starp eksistējošiem un prasītiem noteikumiem un novērtētu programmatūras vienumu raksturiezīmes.1 

Kas ir Selenium

Selenium ir tīmekļa aplikāciju testēšanas rīks, ar kuru testus darbina tieši pārlūkprogrammā, imitējot lietotāju darbības. Tas darbojas ar visām galvenajām pārlūkprogrammām un operētājsistēmām: Internet Explorer, Mozilla un Firefox vidēs Windows, Linux, un Macintosh, kā arī ar Safari Macintosh vidē. 2

To izstrādāja programmētāji un testētāji uzņēmumā ThoughtWorks. Idejas autors ir Džeisons Hagins, kurš radīja Selenium 2004. gadā, kad JavaScripts vēl tika uzskatīts par sliktu un AJAX tehnoloģija vēl nebija kļuvusi populāra. 3

Alternatīvie rīki

Tīmekļa aplikāciju testēšanai varam izvēlēties dažādus rīkus, gan atvērtā koda gan komerciālus. Citi tīmekļa aplikāciju testēšanā lietojamie rīki iekļauj JsUnit, kas paredzēts JavaScript testēšanai un kura testi, tāpat kā Selenium, tiek darbināti pārlūkā. JsUnit atbalsta kopīgās xUnit funkcijas un ir rakstīts JavaScript. Ja servera pusē izmantojam Javu, paveras daudz iespēju, piemēram, HttpUnit. Tas ir rakstīts Javā un atļauj simulēt pārlūku. Ar HttpUnit var simulēt formas apstiprināšanu, testēt pieprasījumu atgrieztās lapas un pārbaudīt elementāru JavasScriptu. Viena no HttpUnit īpašībām ir spēja atdarināt noteiktu pārlūku. Lielākoties HttpUnit tiek lietots kopā ar JUnit. HtmlUnit ir līdzīgs HttpUnit, izņemot to, ka tas modelē lapas HttpUnit pieprasījumu un atbilžu vietā.

Rīks jWebUnit ir veidots uz HttpUnit bāzes. Tas vienkāršo navigācijas likumus un nodrošina dažus gatavus apgalvojumus. Arī šis rīks tiek lietots kopā ar JUnit. Skatoties tālāk par JUnit, ir, piemēram, akcepttestēšanas ietvars FitNesse, kas ļauj noteikt darbības, kuras aplikācijai jāveic. 4

WinRunner ir komerciāls funkcionālās testēšanas rīks, kas arī atļauj lietotājiem ierakstīt un atskaņot lietotāja saskarnes darbības kā testa skriptus, izstrādāts HP/Mercury Interactive.

Atbalstītās testēšanas metodes

Selenium testēšanas ietvars paredzēts akcepttestēšanas fāzei, taču to iespējams izmantot arī citās testēšanas fāzēs:

  • Komponenttestēšanā. Tā ir testēšana, kuru veic, lai pārbaudītu projekta implementāciju vienam programmatūras elementam (piem., blokam, modulim) vai projekta elementu kopumam.
  • Integrācijas testēšanā. Disciplinēta testēšana, kurā programmatūras elementi, aparatūras elementi vai abi tiek kombinēti un testēti, kamēr pilnīgi visa sistēma ir integrēta.
  • Regresā testēšanā. Testēšana, kuras mērķis ir pārliecināties, ka jaunā programmatūras versija nodrošina iepriekšējās versijas pilnu vai daļēju funkcionalitāti.

Akcepttestēšana

Akcepttestēšana ir darbība, kuru veic, lai noteiktu, vai sistēma apmierina vai neapmierina tās akceptēšanas kritērijus, un dotu iespēju klientam pateikt, vai sistēma ir pieņemama vai nē.

Sistēmas izstrādātājs, izmantojot programmatūras prasību specifikāciju, veic projektēšanas un programmēšanas darbus, kuros ietilpst komponentu testēšana un integrācijas testēšana. Izstrādātā un notestētā programmatūra tiek nodota klientam. Lai pārliecinātos par izstrādātās programmatūras atbilstību izvirzītajām prasībām un novērstu nekorektas programmatūras lietošanu, papildus sistēmas izstrādātāja veiktajai testēšanai klients veic akcepttestēšanu. Tās mērķis ir noteikt, vai sistēma apmierina vai neapmierina tās akceptēšanas kritērijus, un dotu iespēju klientam noteikt, vai sistēma ir pieņemama ražošanā. Akcepttestēšana ir klienta pienākums.

Tā kā programmatūras galvenais uzdevums ir nodrošināt programmatūras prasību specifikācijā noteikto funkcionalitāti, tad tiek piedāvāts akcepttestēšanā veikt funkcionālo testēšanu, to sadalot divās daļās: funkcionālā testēšana atsevišķā darba vietā un sistēmas (kompleksā) testēšana no daudzām darba vietām. 5

Selenium testēšanas ietvars

Ietvars darbināms trīs režīmos, Selenium IDE testu rakstīšanai, Selenium Core un Selenium Remote Control, ar apakšveidu Selenium Grid.

Selenium IDE

Selenium IDE ir integrēta izstrādes vide Selenium testiem. Veidots kā Firefox spraudnis, tas domāts testu ierakstīšanai, labošanai un atkļūdošanai. IDE iekļauj visu Selenium Core, ļaujot viegli un ātri ierakstīt un atskaņot testus to darbināšanas īstajā vidē. Iezīmes: 6

  • Testu ierakstīšana un atskaņošana.
  • Lauku izvēlē var izmantot to identifikatorus, vārdus vai XPath.
  • Automātiskās pabeigšanas iespēja biežāk lietotajām Selenium komandām.
  • Testu apstaigāšana.
  • Atkļūdošana un pārtraukumpunkti.
  • Testu saglabāšana HTML, Ruby skriptu vai citos formātos.
  • Atbalsts Selenium user-extensions.js datnei.
  • Iespēja automātiski apgalvot katras lapas virsrakstu.

Selenium Core

Pamata režīmā JavaScript galvenā bibliotēka un testi tiek ielādēti pašā tīmekļa aplikācijā. Tā ir vienkāršāka Selenium forma ar dažiem ierobežojumiem, kas piemērota tiem, kas nav izstrādātāji.

Selenium Core arhitektūra

Testu skripti, rakstīti JavaScript/DHTML, un testu automatizēšanas dzinis tiek augšupielādēti testējamās tīmekļa aplikācijas serverī. Atverot pārlūkā URL, kas palaiž testus, atliek noskatīties testu izpildē. Atbalstītajām operētājsistēmām un pārlūkiem, skatīt 7.

Selenium Remote Control

Rīks automatizētai lietotāja saskarnes testēšanai tīmekļa aplikācijām, kas rakstītas jebkurā programmēšanas valodā un atrodas uz jebkura HTTP servera, lietojot jebkuru no populāriem pārlūkiem ar JavaScript atbalstu. Tas sastāv no divām daļām: 8

  • Servera, kurš automātiski palaiž un aizver atbalstītos pārlūkus un uzvedas kā HTTP starpniekserveris pārlūku tīmekļa pieprasījumiem.
  • Programmēšanas valodas klienta bibliotēkām.

Selenium Remote Control īpaši noder uz AJAX balstītu lietotāja saskarņu testēšanā nepārtraukto sistēmas uzlabojumu fāzē.

Selenium Grid

Selenium Grid rīks samazina tīmekļa akcepttestēšanai nepieciešamo laiku, izmantojot pieejamos datoru resursus, darbinot vairākus testus paralēli uz vairākiem datoriem. Selenium Grid ir balstīts uz Selenium Remote Control, paralēli darbinot vairākas tā instances. 9

Selenium Grid arhitektūra

Palaižot Selenium Grid iespējams izvēlēties mezglu skaitu katrā Remote Control serverī, grupējot veicamos testus pēc operētājsistēmām.

Selenium testi piemēros

Lietojot Selenium IDE, kas darbojas kā pārlūka Firefox spraudnis, testējam satura meklēšanu vietnē ante.lv. 

  • Ielādējam pielikumā esošo testa piemēru

Selenium IDE

Selenium IDE

Testa piemērs sastāv no vienkāršām komandām:

  • Atvērt saknes direktorijā norādīto saiti: xWiki
  • Ierakstīt meklēšanas lauciņā norādīto tekstu: Selenium
  • Atvērt meklēto saiti no meklēšanas rezultātiem

Sagaidāmais testa rezultāts: atrasts šis dokuments par Selenium.

Paldies!

  1. ^ LVS 70:1996, Programmatūras testēšanas dokumentācija, Latvijas Nacionālais standartizācijas un metroloģijas centrs, 1996.
  2. ^ Selenium overview (tiešsaiste). – (atsauce 15.06.2008), pieejams: http://selenium.openqa.org/
  3. ^ Google Testing Blog: Selenium's inventror (tiešsaiste). – (atsauce 15.06.2008), pieejams: http://googletesting.blogspot.com/2007/09/seleniums-inventor.html
  4. ^ R. Asleson, N.T. Schutta, Foundations of Ajax, Apress, 2006, p. 161, 192.
  5. ^ Akcepttestēšana, DatZ5013 : Programmatūras testēšana (tiešsaiste). – (atsauce 15.06.2008), pieejams: http://estudijas.lu.lv/mod/resource/view.php?id=7023
  6. ^ Selenium IDE (tiešsaiste). – (atsauce 15.06.2008), pieejams: http://selenium-ide.openqa.org/
  7. ^ Selenium Core: About (tiešsaiste). – (atsauce 15.06.2008), pieejams: http://selenium-core.openqa.org/
  8. ^ Selenium RC: About (tiešsaiste). – (atsauce 15.06.2008), pieejams: http://selenium-rc.openqa.org/
  9. ^ Selenium Grid (tieššaiste). – (atsauce 15.06.2008), pieejams: http://selenium-grid.openqa.org/
Tagi: selenium
Izveidojis anete 2008-06-17 00:04
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation