Selenium (informatique)

Selenium est un framework de test informatique développé en Java.

Selenium

Informations
Dernière version 3.14.0 ()
Dépôt github.com/SeleniumHQ/selenium
Assurance qualité Intégration continue
État du projet Actif
Écrit en Java
Système d'exploitation Microsoft Windows
Environnement multiplateforme
Type Framework
Licence Licence Apache 2.0
Site web http://seleniumhq.org/

Il permet d'interagir avec différents navigateurs web de même que le ferait un utilisateur de l'application. Il entre ainsi dans la catégorie des outils de test dynamique (à l'inverse des tests statiques qui ne nécessitent pas l'exécution du logiciel) facilitant le test fonctionnel.

Il est associé à

  • Selenium IDE, extension Firefox, pour l'utiliser ;
  • Selenium WebDriver, successeur de Selenium Remote Control (RC) devenu depuis officiellement obsolète[1]. Il permet d'écrire des tests automatisés en différents langages (PHP, Python, Ruby, .NET, Perl et Java).

Exemples de tests avec Selenium

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");
  }
}

Interopérabilité

En PHP, Selenium s'interface avec PHPUnit[2], voire avec Behat (en) en utilisant la bibliothèque Mink[3].

Références

  1. « Selenium - Web Browser Automation », sur www.seleniumhq.org (consulté le 20 avril 2017)
  2. Chaine complète de test avec Selenium IDE, Selenium RC et PHPUnit
  3. (en) Junade Ali, Mastering PHP Design Patterns, Packt Publishing Ltd, (lire en ligne)
  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Sharealike. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.