Ich schaue gerade auf Selenium Server und sehe anscheinend keinen Treiber, der kopflose Browsertests unterstützt.
Wenn ich mich nicht irre, wird es nicht unterstützt. Wenn Sie auf X sind, können Sie einen virtuellen Framebuffer erstellen, um das Browserfenster auszublenden. Dies ist jedoch kein wirklich kopfloser Browser.
Kann mich jemand aufklären? Unterstützt Selenium kopflose Browsertests?
--headless
Flagge von Chrome 51 nicht mehr unterstütztDie WebDriver-API unterstützt HTMLUnit als Browser für Ihre Tests. Ruby-Leute benutzen Capybara schon eine Weile für ihre kopflosen Selentests, also ist es definitiv machbar.
quelle
Ich weiß, dass dies ein alter Beitrag ist. Dachte, es wird anderen helfen, die nach einer Antwort suchen.
Sie können mit XVFB ein vollwertiges Firefox in jeder Linux-Distribution installieren. Dies stellt sicher, dass Ihre Tests in einem echten Browser durchgeführt werden. Sobald Sie ein Headless-Setup haben, können Sie einen Webdriver Ihrer Wahl verwenden, um eine Verbindung herzustellen und Tests auszuführen.
quelle
Headless Browser sind eine schlechte Idee. Sie bieten Ihnen einige Tests, aber nichts Vergleichbares zu dem, was ein echter Benutzer sehen wird, und sie maskieren viele Probleme, auf die nur echte Browser stoßen. Sie sind unendlich besser dran , wenn Sie einen " Headed " -Browser ( dh alles andere als HTMLUnit) in einer Headless-Umgebung ( z. B. Windows oder Linux mit XVFB) verwenden.
quelle
Ich stelle fest, dass Sie sagen, dass die Verwendung eines X-Framebuffers keine echte kopflose Lösung ist. Für die meisten halte ich dies jedoch für akzeptabel. Darüber hinaus hilft Ihnen dieser Service dabei , dies für Sie in Gang zu bringen, wenn Sie daran als Lösung interessiert sind.
quelle
Selenium unterstützt in gewisser Weise kopflose Browsertests. Docker Selen wird von SeleniumHQ gewartet. Diese Docker-Container werden standardmäßig mit xvfb-Unterstützung geliefert. Es gibt Tools wie PhantomJS, die Sie mit Selenium verbinden können. Es wird jedoch nicht offiziell von Selenium selbst unterstützt.
Ähnlich wie andere beschrieben haben, wird PhantomJS nicht wirklich empfohlen. Der springende Punkt bei Selen ist die Automatisierung von Browsern. Aber warum einen Browser automatisieren, den niemand benutzt? Ich habe nie verstanden, wie das von Entwicklern so oft übersehen wurde.
quelle
Ja. Selenium unterstützt kopflose Browsertests und ist schneller und praktischer für eine große Anzahl von Testfällen.
quelle
Ja, Selen unterstützt kopflose Browsertests ... aber ich habe festgestellt, dass HTMLUnit meistens fehlschlägt ... Ich habe nach einer Alternative gesucht ... PhantomJs war wirklich gut. Sie können es definitiv ausprobieren, es war im Vergleich zu anderen Browsern sehr schnell ... Es ist wirklich gut für Rauchprüfungen ...
http://phantomjs.org/
quelle
Mit Ruby und MacOS:
brew install phantomjs
dann:quelle
Ja, Selenium unterstützt das Testen von Headless-Browsern. Headless-Browser sind schneller als Echtzeit-Browser.
quelle
Installieren
chromeDriver
undgoogle-chrome-stable
versionieren Sie auf dem Linux-Server, wo die Tests ausgelöst werden, und fügen Sie Ihrem Code dieselben Binärdateien hinzu.Code-Auszug:
quelle
Hier ist eine "moderne Antwort" zur Verwendung von Selenium mit xvfb- und Firefox-Treibern in einer Ubuntu Linux-Umgebung, in der Django / Python ausgeführt wird:
Sie können dann den Anweisungen von Django LiveServerTestCase folgen .
Gehen Sie folgendermaßen vor, um den soeben installierten Treiber zu verwenden:
quelle