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