Selenium proporciona una herramienta de grabación / reproducción para crear pruebas sin aprender un lenguaje de secuencias de comandos de prueba (Selenium IDE). También proporciona un lenguaje específico de dominio de prueba (Selenese) para escribir pruebas en varios lenguajes de programación populares, incluidos Java, C #, Groovy, Perl, PHP, Python y Ruby.
Las pruebas se pueden ejecutar en la mayoría de los navegadores web modernos. Selenium se implementa en plataformas Windows, Linux y Macintosh. Es un software de código abierto, lanzado bajo la licencia Apache 2.0, y se puede descargar y usar sin cargo.
Selenium Web Driver es el sucesor de Selenium RC. Selenium Web Driver acepta comandos (enviados en Selenese o mediante una API de cliente) y los envía a un navegador. Esto se implementa mediante un controlador de navegador específico del navegador, que envía comandos a un navegador y recupera resultados.
- Cómo probar si una cadena es una subcadena de otra cadena en C sin ninguna función incorporada
- ¿Es posible simular / emular / codificar el poder de pensamiento de una CPU en una GPU?
- ¿Google no tiene mejores algoritmos, sino solo más datos? Peter Norvig es citado diciendo eso.
- ¿Debería un principiante construir cosas y contribuir a proyectos de código abierto antes de aprender algoritmos?
- Cómo comenzar a hacer mi propia solución de divide y vencerás
Instalar selenio
Usaremos virtualenv con Python3:
$ virtualenv -p python3 venv3 $ fuente venv3 / bin / activar (venv3) $ (venv3) $ pip install selenium
Verifique la versión Selenium de Python Shell:
>>> desde selenio import webdriver >>> de selenio importar selenio >>> print ("Selenium webdriver Version:% s"% (webdriver .__ version__)) Selenium webdriver Versión: 2.53.6
El último controlador cromado amd64
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb $ sudo dpkg -i --force-depende google-chrome-stable_current_amd64.deb
Instale la última versión de Google Chrome
$ LATEST = $ (wget -q -O - http://chromedriver.storage.googleapis.com/LATEST_RELEASE) $ wget http://chromedriver.storage.googleapis.com/$LATEST/chromedriver_linux64.zip $ descomprimir chromedriver_linux64.zip && sudo ln -s $ PWD / chromedriver / usr / local / bin / chromedriver
Inicie un navegador con ChromeDriver
(venv3) $ python Python 3.4.3 >>> desde selenio import webdriver >>> d = webdriver.Chrome () >>> d.get ("http://www.google.com/") >>> d.título 'Google' >>>
Podemos acceder a las clases como esta (API WebDriver):
webdriver.Firefox webdriver.FirefoxProfile webdriver.Chrome webdriver.ChromeOptions webdriver.Ie webdriver.Opera webdriver.PhantomJS webdriver.Remote webdriver.DesiredCapabilities webdriver.ActionChains webdriver.TouchActions webdriver.Proxy
El siguiente ejemplo (selenium 3.0.0b1) hace:
- abrir un nuevo navegador Firefox
- cargar la página de inicio de Yahoo
- buscar “selenio”
- cierra el navegador
desde selenium import webdriver desde selenium.webdriver.common.keys importar claves d = webdriver.Chrome () d.get ('http://www.yahoo.com') afirmar 'Yahoo' en d.title elem = d.find_element_by_name ('p') # Encuentra el cuadro de búsqueda elem.send_keys ('selenium' + Keys.RETURN) d.quit ()
Prueba de unidad de Python
Selenium WebDriver se usa a menudo como base para probar aplicaciones web. Aquí hay un ejemplo simple de la biblioteca de pruebas unitarias estándar de Python (https://pypi.python.org/pypi/sel…):
prueba de unidad de importación desde selenium import webdriver clase GoogleTestCase (unittest.TestCase): def setUp (self): self.browser = webdriver.Chrome () self.addCleanup (self.browser.quit) def testPageTitle (self): self.browser.get ('http://www.google.com') self.assertIn ('Google', self.browser.title) if __name__ == '__main__': unittest.main (verbosidad = 2)
Salida:
python unit.py testPageTitle (__main __. GoogleTestCase) ... ok -------------------------------------------------- -------------------- Prueba de rango 1 en 12.203s Okay