Android + Selenium + Python : test d’une page web sur mobile

Comment tester un site mobile (google pour l’exemple) avec Selenium et du python ?

Et bien c’est comme cela que ça peut se passer …

Installation

pour python :

pip install selenium

sur le téléphone, il faut installer webdriver pour android :

téléchargement de l’apk, ici : http://code.google.com/p/selenium/downloads/list

brancher le téléphone (oui, ça aide pour avoir son serialId),

En ligne de commande:

adb -s  install  android-server.apk

Activation de la liaison entre le mobile et le poste de dev :

Lancer l’application sur le téléphone, et lancer en ligne de commande

adb -s  forward tcp:8080 tcp:8080

Et, là, si pas d’erreurs, on est prêt à tester.

Test avec Selenium

Ci-dessous un exemple en 7 lignes de code python simple qui a pour but de lancer dans le navigateur du téléphone, la recherche du mot “Selenium” sur Google.

from selenium import webdriver
driver=webdriver.Remote('http://localhost:8080/wd/hub',webdriver.DesiredCapabilities.ANDROID)
driver.get('http://www.google.fr')
input=driver.find_element_by_name("q")
input.send_keys('Selenium')
btn=driver.find_element_by_name("btnG")
btn.click()

Ce qui donne dans le détail

  • ligne 1 : import de webdriver du package selenium dans l’environnement python
  • ligne 2 : binding avec le server du téléphone
  • ligne 3 : on ouvre la page
  • ligne 4 : on cherche le champ de saisie
  • ligne 5 : saisie du mot à chercher
  • ligne 6 : on cherche le bouton
  • ligne 7 : on clique

Simple non ?

Voilà c’est fini pour aujourd’hui

comments powered by Disqus