Después de aprender Python (junto con algoritmos y estructuras de datos), ¿sería beneficioso para mí aprender Selenium o debería seguir alguna otra búsqueda? Ya trabajo con Node.js, ¿hay algo más además de Django?

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.

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:

  1. abrir un nuevo navegador Firefox
  2. cargar la página de inicio de Yahoo
  3. buscar “selenio”
  4. 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

  1. Puedes crear aplicaciones web. Puede avanzar hacia el desarrollo frontend (html, CSS, JavaScript) e integrarse con python (backend django) ya que ya ha trabajado con nodejs.
  2. Puede avanzar hacia la ciencia de datos, el aprendizaje automático.