Селен

Кукловод срещу селен

Кукловод срещу селен
Днес, когато става въпрос за автоматизирано уеб тестване, Puppeteer и Selenium са двете имена, които се появяват. Една от основните причини, поради които са добре известни, е способността им да изпълняват браузъри без глава. Затова, преди да пристъпим към статията, нека да разгледаме набързо какво представляват браузърите без глава и техните предимства.

В основни термини, безглавите браузъри са браузъри, които могат да бъдат използвани за тестване на използваемостта на уеб страници и извършване на взаимодействия с браузъра, точно както бихте направили с обикновения си браузър. Единствената разлика тук е, че няма графичен потребителски интерфейс (GUI) и те обикновено се изпълняват от терминала.

Браузъри без глава:

Сега, след като познахме основен фактор и за двата инструмента, можем да продължим.

Кукловод

Puppeteer е Node библиотека от Google, която предоставя прост API за управление на Chromeless без глава. Чрез Puppeteer често могат да се извършват често срещани задачи като въвеждане на входове, щракване върху бутони, тестване на използваемостта на уеб страници и дори изстъргване в мрежата.

Puppeteer е официален от екипа на Chrome и използва протокола за отдалечено отстраняване на грешки на Chrome, точно както бихме открили при Chrome Devtools. Тази библиотека поддържа съвременния синтаксис на JavaScript, наличен в Google Chrome.

Настройвам

Инсталирането и започването с Puppeteer е много лесно. Тъй като Puppeteer е Node библиотека, тя може да бъде инсталирана с помощта на npm инструмент.

Инсталирането може да се извърши с командата по-долу:

npm i кукловод

Изпълнението на командата по-горе инсталира Puppeteer. Очаква се да изтегли и скорошна версия на Chromium, която ще работи с API.

Размерът на Chromium варира в зависимост от операционната система:

След инсталирането на Puppeteer можете да разберете повече информация за това как да започнете, можете също така да разгледате още примери за код.

Характеристика

Въпреки че способността на Puppeteer да стартира браузър без глава е една от характеристиките, която му спечели известна слава, това не е единствената функция, която го прави страхотен. Puppeteer има и няколко други функции, които го правят полезен, нека да разгледаме набързо някои от тях.

Лесна автоматизация:

Въпреки че има други инструменти, които могат да се използват за уеб автоматизация, Puppeteer излиза на върха. Това се дължи на факта, че работи добре само за един браузър, който е браузърът Headless Chrome, поради което изпълнява задачите за уеб автоматизация по възможно най-ефективния начин. Puppeteer работи добре и с популярни библиотеки за модулно тестване като Mocha и Jasmine.

Тестване на екрана:

Това е жизненоважна функция за всяка задача за автоматизирано уеб тестване. Снимките на екрана са важни и помагат за проследяване на резултатите от взаимодействията с елементи на уеб страница. Библиотеки като Puppeteer-screen-tester също съществуват в Puppeteer, която предоставя възможност за сравняване на екранни снимки, генерирани по време на тестване. Освен генерирането на екранни снимки на тестове, PDF файловете могат да се генерират и от тествани уеб страници в кукловод.

Тестване на производителността:

Chrome предлага DevTools, които позволяват записването на графика за изпълнение на уеб страници и Puppeteer също се възползва от това. С Puppeteer могат да бъдат заснети следи от времеви линии на уебсайтове, за да се изследват проблеми с производителността. Поради високото ниво на контрол на API на Puppeteer над протокола за инструменти за разработчици на Chrome, той дава на потребителите възможност да контролират работниците в услугите и да тестват кеширането на уебсайтове.

Уеб изстъргване:

Беседа за функции няма да завърши, без да се признае способността на Puppeteer да се използва за целите на уеб изстъргване. Да се ​​научиш да използваш Puppeteer като уеб скрепер е доста лесно, погледни документацията за API.

Професионалисти

  1. Работи добре за визуално тестване.
  2. Страхотно за тестване от край до край.
  3. Бърз в сравнение със селен.
  4. Може да прави екранни снимки на уеб страници.
  5. Повече контрол върху тестовете чрез Chrome.
  6. Може да тества офлайн режим.

Минуси

  1. Поддържа само JavaScript (възел)
  2. Поддържа само Chrome

Селен

Селенът е мощна рамка за уеб тестване, която има способността да автоматизира уеб приложенията за целите на тестването. Селенът е известен и със способността си да автоматизира уеб базирани административни задачи.

Селенът се предлага в две части; Selenium WebDriver за създаване на мощни, базирани на браузъра пакети за автоматизация и тест и Selenium IDE за създаване на скриптове за бързо възпроизвеждане на грешки.

Не забравяйки, че Selenium поддържа и браузъри без глава, както се вижда с Puppeteer.

Настройвам

За разлика от Puppeteer, настройването на Selenium не е лесно. Селенът поддържа много езици и различни браузъри, поради което трябва да се обърне внимание на тези възможни условия.

По-долу са изброени връзки към официални уроци за това как да настроите обвързванията на Selenium за различни езици.

Освен че поддържа различни езици, Selenium поддържа и множество браузъри. За разлика от Puppeteer, който инсталира Chromium по време на инсталацията, може да се наложи да инсталирате уеб драйвери за уеб браузъра по ваш избор.

Ето връзки към уеб драйвери за Mozilla Firefox и Google Chrome.

Ако искате да използвате и ID на Selenium, той съществува и за множество браузъри. Ето връзки към Selenium IDE за Mozilla Firefox и Google Chrome.

Характеристика

Способността му да работи с безглави браузъри го направи безспорно най-популярният инструмент за уеб автоматизация, но има и други функции, които го правят мощен.

Поддръжка на няколко езика:

Това е една много важна функция на Селен. С многоезичната си поддръжка повече разработчици могат да използват инструмента за своите задачи за тестване на уеб автоматизация.  Въпреки че може да се мисли, че многоезичната му поддръжка би го забавила, Selenium все още работи с добра скорост, тъй като не се изисква стартиране на сървър в Web Driver.

Поддръжка на няколко платформи:

По същия начин Селенът не е ограничен от езикови бариери, също така не е ограничен от платформата. Не е новина, че уеб приложенията се държат по различен начин на множество платформи. Селенът дава възможност на тестерите да тестват в основните уеб браузъри, за да осигурят гладко потребителско изживяване за потребителите в различни браузъри.  Освен браузърите, Selenium може да се използва и за тестване на мобилни устройства като Android, iOS, Windows, Blackberry приложения.

Инструмент за запис:

С Selenium IDE е лесно да записвате тестове за уеб автоматизация. Selenium IDE позволява на тестерите да използват възможността за запис, както и поддръжката за автоматично довършване и способността за навигация по команди. Инструментът за запис спря да работи във Firefox 55 и по-нови версии, но има и други приставки във Firefox, които служат на същата цел. Следователно способността за записване на тестове остава основна характеристика на Selenium.

Уеб изстъргване:

Въпреки че Selenium се използва за тестване на уеб приложения, той също така се мащабира добре като уеб скрепер. Селенът може да се използва за изстъргване на уебсайтове AJAX и най-трудните за изстъргване уебсайтове, при условие че разбирате HTML структурата. Можете да разгледате този урок за използване на Selenium за уеб изстъргване с Python.

Професионалисти

  1. Поддръжка на няколко платформи.
  2. Поддръжка на няколко езика.
  3. Възможност за записване на тестове.
  4. Може да прави и екранни снимки.
  5. Огромна общност от потребители.

Минуси

  1. Бавно в сравнение с Puppeteer.
  2. Ограничен контрол върху тестовете в сравнение с Puppeteer.

Заключение

Ако не ви притеснява тестването на уеб страници на други платформи освен Chrome, тогава работите добре с Puppeteer, при условие че можете да работите с JavaScript (Node). Въпреки това, ако сте загрижени за множество платформи, тогава използването на Selenium е безпроблемно. Говорейки за техните способности за изстъргване в мрежата, и двата инструмента се изравняват. Трябва да се отбележи обаче, че Puppeteer може да бъде по-бърз от селена.

Всеки инструмент, който изберете в края на деня, трябва да е добре, просто се наслаждавайте на писането на вашите автоматични скриптове.

Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...
Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...
Най-добрите приложения за картографиране на геймпад за Linux
Ако искате да играете игри на Linux с геймпад вместо типична система за въвеждане на клавиатура и мишка, има някои полезни приложения за вас. Много ко...