Używam Selenium RC do testowania. Teraz, aby wykonać test obciążenia, chcę uruchomić równoległe przypadki testowe. Czy istnieje sposób na ich uruchomienie bez otwierania przeglądarki?Testowanie Selenium bez przeglądarki
Odpowiedz
Aby skonfigurować na CentOS (wykonać całą instalację jako root)
Zainstaluj pip Pobierz https://bootstrap.pypa.io/get-pip.py
python get-pip.py
Instalacja selenu Jeśli masz zainstalowany system, możesz po prostu zainstalować lub zaktualizować wiązania Pythona: instalacja pip -U selen
Alternatywnie, możesz pobrać dystrybucję źródłową z PyPI (np. selen-2.53.1.tar.gz), rozpakowywanie go i uruchom:
python setup.py install
zainstalować program: pyvirtualdisplay
pip install pyvirtualdisplay
yum install Xvfb libXfont Xorg
następnie zmodyfikować skrypt, aby dodać pogrubienie linii wewnątrz ** i * *
**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
klasa 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)
selen można uruchomić bez głowy, spójrz na to pytanie/odpowiedź: Is it possible to hide the browser in Selenium RC?
Specjalnie dla testów obciążeniowych wydajność, należy przyjrzeć się Apache JMeter.
Próbowałem już Apache JMeter do testowania obciążenia aplikacji GWT. Ale nie jest to całkiem udane. – Mohyt
Tak. Tylko install PhantomJS.
Następnie zmień tę linię:
driver = webdriver.Firefox()
do:
driver = webdriver.PhantomJS()
Reszta kodu nie będzie musiał być zmieniony i nie przeglądarka otworzy.
Dla celów debugowania, użyj driver.save_screenshot('screen.png')
na różnych etapach swojego kodu lub po prostu wrócić do Firefoksa ponownie:
if os.getenv("environment") == "production":
driver = webdriver.PhantomJS()
else:
driver = webdriver.Firefox()
to powinno być odpowiedź –
Najprostsze odpowiedzi są zazwyczaj najlepsze! Dziękuję Ci. – hod
Zawsze postępuj zgodnie z dokumentacją. Oto, co mówi selenium doc. Zapewnia on standalone jar.
Pobierz samodzielny słoik. Uruchom go poleceniem
java -jar selenium-server-standalone.jar
Teraz pojawi się serwer z przełącznikiem stanów.
Teraz skonfiguruj webdrivera tak jak poniżej, a część odpoczynku będzie taka, jaka jest.
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities={'browserName': 'htmlunit', 'version': '2', 'javascriptEnabled': True})
Podsumowanie kodu będzie podobne.
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()
możliwe duplikat [Czy to możliwe, aby ukryć przeglądarkę w selen RC?] (Http://stackoverflow.com/questions/1418082/is-it-possible-to-hide-the- browser-in-selenium-rc) –