Selenium поддерживает безголовое тестирование браузера?

В данный момент я смотрю на Selenium Server и, похоже, я не замечаю драйвер, который поддерживает тестирование без браузера.

Если я не ошибаюсь, это не поддерживает. Если вы работаете в X, вы можете создать виртуальный кадровый буфер, чтобы скрыть окно браузера, но на самом деле это не браузер без головы.

Может ли кто-нибудь просветить меня? Поддерживает ли Selenium безголовое тестирование браузера?

65 голосов | спросил khoomeister 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 27 Sep 2011 16:12:11 +0400 2011, 16:12:11

11 ответов


0

вам не нужно использовать PhantomJS в качестве альтернативы Selenium. Selenium включает класс веб-драйверов PhantomJS, который работает на платформе GhostDriver. Просто установите бинарный файл PhantomJS на свой компьютер. в Python вы можете использовать:

from selenium import webdriver
dr = webdriver.PhantomJS() 

и вуаля.

ответил Magenta Nova 6 FebruaryEurope/MoscowbFri, 06 Feb 2015 21:32:54 +0300000000pmFri, 06 Feb 2015 21:32:54 +030015 2015, 21:32:54
0

API WebDriver поддерживает HTMLUnit как браузер для вашего тестирования. Люди Ruby уже некоторое время используют Capybara для безголового тестирования селена, так что это вполне выполнимо.

ответил AutomatedTester 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 27 Sep 2011 16:26:48 +0400 2011, 16:26:48
0

Я знаю, что это старый пост. Думаю, это поможет другим, кто ищет ответ.

Вы можете установить полноценный Firefox в любой дистрибутив Linux, используя XVFB. Это гарантирует, что ваше тестирование выполняется в реальном браузере. Если у вас есть автономная настройка, вы можете использовать веб-драйвер по вашему выбору для подключения и запуска тестирования.

ответил Arun 29 J000000Monday13 2013, 08:03:33
0

Безголовые браузеры - плохая идея. Они проходят некоторое тестирование, но не похожи на то, что увидит реальный пользователь, и маскируют множество проблем, с которыми сталкиваются только настоящие браузеры. Вам бесконечно лучше использовать «возглавляемый» браузер (, т.е. , что угодно, кроме HTMLUnit) в безголовой среде ( например, , Windows или Linux с XVFB).

ответил Ross Patterson 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 27 Sep 2011 22:19:29 +0400 2011, 22:19:29
0

Я заметил, что вы говорите, что использование кадрового буфера X не является настоящим безголовым решением, однако, для большинства, я думаю, это будет приемлемо. В дополнение к этому этот сервис поможет вам в этом, если вы заинтересованы в этом как решение.

ответил General Redneck 30 J000000Monday12 2012, 05:10:47
0

Да, selenium поддерживает тестирование без помощи браузера ... но я обнаружил, что HTMLUnit чаще всего дает сбой ... Я искал альтернативу ... PhantomJs был действительно хорош. Вы определенно можете попробовать, это было очень быстро, если сравнивать в другие браузеры ... Это действительно хорошо для тестирования дыма ...

http://phantomjs.org/

ответил Vicky 6 FebruaryEurope/MoscowbFri, 06 Feb 2015 20:55:22 +0300000000pmFri, 06 Feb 2015 20:55:22 +030015 2015, 20:55:22
0

Для ruby ​​и macOS: brew install phantomjs затем:

driver = Selenium::WebDriver.for :phantomjs
ответил Dorian 9 +03002016-10-09T05:40:34+03:00312016bEurope/MoscowSun, 09 Oct 2016 05:40:34 +0300 2016, 05:40:34
0

Selenium каким-то образом поддерживает тестирование без браузера. Докер Selenium поддерживается SeleniumHQ. Эти док-контейнеры поставляются с поддержкой xvfb из коробки. Есть такие инструменты, как PhantomJS, которые вы можете подключить с помощью Selenium. Однако он официально не поддерживается самой Selenium.

Очень похоже на то, что описали другие, PhantomJS на самом деле не рекомендуется. Смысл Selenium в том, чтобы автоматизировать браузеры. Но почему автоматизировать браузер никто не использует? Я никогда не понимал, как разработчики так часто упускают это из виду.

ответил Sean 18 AMpTue, 18 Apr 2017 05:55:00 +030055Tuesday 2017, 05:55:00
0

Да. Selenium поддерживает безголовое тестирование браузеров, оно более быстрое и удобное для выполнения большого количества тестов.

ChromeOptions cromeOptions = new ChromeOptions();

//Location of browser binary/.exe file
cromeOptions.setBinary("/usr/bin/google-chrome-stable");

cromeOptions.addArguments("--headless");
cromeOptions.addArguments("--no-sandbox");
cromeOptions.addArguments("--disable-gpu");
cromeOptions.addArguments("--window-size=1920,1080");

WebDriver webDriver = new ChromeDriver(cromeOptions);
ответил Radadiya Nikunj 13 MarpmTue, 13 Mar 2018 20:50:18 +03002018-03-13T20:50:18+03:0008 2018, 20:50:18
0

Вот «современный ответ» о том, как использовать Selenium с xvfb и драйвером Firefox в среде Ubuntu Linux с Django /Python:

# install xvfb and Firefox driver
sudo su
apt-get install -y xvfb firefox
wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz
tar -x geckodriver -zf geckodriver-v0.19.1-linux64.tar.gz -O > 
/usr/bin/geckodriver
chmod +x /usr/bin/geckodriver

# install pip modules
pip install selenium
pip install PyVirtualDisplay

Затем вы можете следовать [инструкциям Django LiveServerTestCase] ​​[1].

Чтобы использовать только что установленный драйвер, сделайте что-то вроде этого:

from pyvirtualdisplay import Display
from selenium.webdriver.firefox.webdriver import WebDriver

driver = WebDriver(executable_path='/usr/bin/geckodriver')
display = Display(visible=0, size=(800, 600)).start()

# add your testing classes here...

driver.quit()
display.stop()
ответил gorus 18 MarpmSun, 18 Mar 2018 22:34:48 +03002018-03-18T22:34:48+03:0010 2018, 22:34:48
0

Да Selenium поддерживает автономное тестирование браузеров. Независимые браузеры работают быстрее, чем браузеры реального времени.

ответил Siva K 9 Maypm18 2018, 12:11:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132