Selen (IT)

Selen Beskrivelse av Selenium.png-bildet. Beskrivelse av Selenium IDE.png-bildet. Informasjon
Skaper Software Freedom Conservancy
Siste versjon 3,141,59
Avansert versjon 4.0.0-alfa-7
Innskudd https://www.selenium.dev
Kvalitetssikring Kontinuerlig integrering
Prosjekt status Aktiv
Skrevet i Java
Støttespråk PHP, Python, Ruby, .NET, Perl, Java, Rust and Go
Operativsystem Microsoft Windows
Miljø multiplatform
Type Rammeverk
Tillatelse Apache License 2.0
Dokumentasjon https://www.selenium.dev/documentation/en/grid/
Nettsted https://www.selenium.dev/

Selen er et rammeverk for datatest utviklet i Java, men gir gateways for å kjøre med forskjellige språk som Python og PHP.

Det lar deg samhandle med forskjellige nettlesere som Google Chrome takket være chromedriver eller Mozilla Firefox med Gecko akkurat som en bruker av applikasjonen ville gjort. Det faller dermed inn i kategorien dynamiske testverktøy (i motsetning til statiske tester som ikke krever kjøring av programvaren) som letter funksjonstesting.

Det er assosiert med

Eksempler på tester med selen

I PHP  :

require_once 'PHPUnit/Extensions/SeleniumTestCase.php'; class CategoryModifTest extends PHPUnit_Extensions_SeleniumTestCase { protected function setUp() { $this->setBrowser("*firefox"); $this->setBrowserUrl("http://..."); } public function testCategoryModif() { $this->open("http://..."); $this->type("modlgn_username", "admin"); $this->type("modlgn_passwd", "password"); $this->click("link=Connexion"); $this->waitForPageToLoad("30000"); $this->open("http:.../administrator/index.php?..."); $this->waitForPageToLoad("30000"); $name = $this->getTable("//div[@id='element-box']/div[2]/form/table.2.2"); $this->click("link=".$name); $this->waitForPageToLoad("30000"); $this->type("name", "Ordinateurs portables modifié"); $this->click("//td[@id='toolbar-save']/a/span"); $this->waitForPageToLoad("30000"); try { $this->assertTrue($this->isTextPresent("Ordinateurs portables modifié")); } catch (PHPUnit_Framework_AssertionFailedError $e) { array_push($this->verificationErrors, $e->toString()); } $this->click("link=Ordinateurs portables modifié"); $this->waitForPageToLoad("30000"); $this->type("name", "Ordinateurs portables"); $this->click("//td[@id='toolbar-save']/a/span"); $this->waitForPageToLoad("30000"); $this->click("link=Déconnexion"); $this->waitForPageToLoad("30000"); } }

Eller i Rust  :

// ici on déclare le packet selenium_webdriver. use selenium_webdriver::*; // Le point de départ fn main() { // ici ça permet uniquement de créé une session et le navigateur indiqué est Chrome. let mut driver = Browser::start_session(BrowserName::Chrome, "--disable-popup-blocking", "--disable-extensions"); // selenium va s'en chargé d'ouvrir une nouvelle page. driver.open("https://www.wikipedia.org/").unwrap(); // ça permet uniquement de rechercher la barre de recherche. let search = driver.find_element(LocatorStrategy::CSS("#searchInput" as &'static str)).unwrap(); // ça permet uniquement de taper Selenium (informatique) dans la barre de recherche. let _ = search.send_keys(&"Selenium (informatique)"); // selenium va chercher le bouton. let btn = driver.find_element(LocatorStrategy::CSS("input[type=submit]" as &'static str)).unwrap(); // et il va clicker ! btn.click(); }

Interoperabilitet

I PHP grensesnitt Selen med PHPUnit , eller til og med med Behat  (en) ved hjelp av Mink-biblioteket.

Referanser

  1. “  Selenium - Web Browser Automation  ” , på www.seleniumhq.org (åpnet 20. april 2017 )
  2. Komplett testkjede med Selen IDE, Selen RC og PHPUnit
  3. (i) Junade Ali , Mastering PHP Design Patterns , Packt Publishing Ltd.28. september 2016( les online )