org openqa mac library espaƱol descargar bindings python selenium selenium-webdriver selenium-rc load-testing

python - openqa - Pruebas de selenio sin navegador



selenium library (4)

Yo uso Selenium RC para probar. Ahora para realizar una prueba de carga, quiero ejecutar casos de prueba paralelos. ¿Hay alguna forma de ejecutarlos sin abrir un navegador?


Para configurar en Centos (hacer toda la instalación como root)

Instalar pip Descargar https://bootstrap.pypa.io/get-pip.py

python get-pip.py

Instalación de selenio Si tiene un pip en su sistema, simplemente puede instalar o actualizar los enlaces de Python: pip install -U selenium

Alternativamente, puede descargar la distribución fuente de PyPI (por ejemplo, selenium-2.53.1.tar.gz), desarchivarla y ejecutar:

python setup.py install

instalar el programa: pyvirtualdisplay

pip install pyvirtualdisplay yum install Xvfb libXfont Xorg

A continuación, modifique su secuencia de comandos para agregar las líneas en negrita dentro de ** y **

**from pyvirtualdisplay import Display** from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException from selenium.common.exceptions import NoAlertPresentException import unittest, time, re

clase SeleniumDemo (unittest.TestCase):

def setUp(self): **self.display = Display(visible=0, size=(800, 600)) self.display.start()** self.driver = webdriver.Firefox() self.driver.implicitly_wait(30) self.base_url = "http://www.soastastore.com/" self.verificationErrors = [] self.accept_next_alert = True …… def tearDown(self):`enter code here` self.driver.quit() ***self.display.stop()*** self.assertEqual([], self.verificationErrors)



Sí. Simplemente instale PhantomJS .

Luego, cambia esta línea:

driver = webdriver.Firefox()

a:

driver = webdriver.PhantomJS()

No será necesario cambiar el resto del código y no se abrirá ningún navegador.

Para fines de depuración, use driver.save_screenshot(''screen.png'') en diferentes pasos de su código o simplemente vuelva a Firefox nuevamente:

if os.getenv("environment") == "production": driver = webdriver.PhantomJS() else: driver = webdriver.Firefox()


Siempre siga la Documentación. Esto es lo que dice el doc . De selenio . Proporciona un frasco independiente .

  • Descargue el jar independiente. Y ejecutarlo con comando

    java -jar selenium-server-standalone.jar

  • Ahora verá un servidor stanalone iniciado.

  • Ahora configure su controlador de página web como a continuación y la parte de reposo será como está.

    driver = webdriver.Remote(command_executor=''http://127.0.0.1:4444/wd/hub'', desired_capabilities={''browserName'': ''htmlunit'', ''version'': ''2'', ''javascriptEnabled'': True})

  • El código de resumen será similar.

    from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.common.keys import Keys driver = webdriver.Remote(command_executor=''http://127.0.0.1:4444/wd/hub'', desired_capabilities={''browserName'': ''htmlunit'', ''version'': ''2'', ''javascriptEnabled'': True}) driver.get("http://www.python.org") assert "Python" in driver.title elem = driver.find_element_by_name("q") elem.clear() elem.send_keys("pycon") elem.send_keys(Keys.RETURN) assert "No results found." not in driver.page_source driver.close()