Какво е селен?
Selenium е безплатна (с отворен код) автоматизирана рамка за тестване, използвана за валидиране на уеб приложения в различни браузъри и платформи. Можете да използвате множество езици за програмиране като Java, C #, Python и т.н., за да създадете скриптове за тест за селен. Тестването, извършено с помощта на инструмента за тестване на селен, обикновено се нарича тестване на селен.
Selenium Software не е просто един инструмент, а набор от софтуер, като всяко парче отговаря на различните нужди за тестване на Selenium QA на дадена организация. Ето списъка с инструменти
- Интегрирана среда за развитие на селен (IDE)
- Дистанционно управление на селен (RC)
- WebDriver
- Решетка от селен

В момента Selenium RC и WebDriver са обединени в една рамка, за да образуват Selenium 2 . Между другото, селен 1 се отнася до селен RC.
Щракнете тук, ако видеоклипът не е достъпен
В този урок ще научите:
- Какво е селен?
- Кой е разработил селен?
- Проблем със същата политика за произход
- Раждане на дистанционно управление на селен (Selenium RC)
- Раждане на селеновата решетка
- Раждане на селен IDE
- Раждане на WebDriver
- Раждане на селен 2
- И така, защо името Селен?
- Кратко въведение Селен IDE
- Кратко въведение Селеново дистанционно управление (Selenium RC)
- Кратко въведение WebDriver
- Решетка от селен
- Забележка относно поддръжката на браузъра и околната среда
- Как да изберем подходящия инструмент за селен за вашите нужди
- Сравнение между селен и QTP (сега UFT)
- Предимства на QTP пред селен
Кой е разработил селен?
Тъй като Selenium е колекция от различни инструменти, той също имаше различни разработчици. По-долу са основните лица, които са направили забележителен принос за проекта Селен
На първо място, Селенът е създаден от Джейсън Хъгинс през 2004 г. Инженер в ThoughtWorks, той работи върху уеб приложение, което изисква чести тестове. След като осъзна, че повтарящото се ръчно тестване на тяхното приложение става все по-неефективно, той създава програма за JavaScript, която автоматично контролира действията на браузъра. Той нарече тази програма „ JavaScriptTestRunner “. Виждайки потенциала на тази идея да помогне за автоматизирането на други уеб приложения, той направи JavaScriptRunner с отворен код, който по-късно беше преименуван на Selenium Core . |
Проблем със същата политика за произход
Политиката на същия произход забранява на JavaScript кода достъп до елементи от домейн, който е различен от мястото, където е стартиран . Например HTML кодът в www.google.com използва програма на JavaScript „randomScript.js“. Същата политика за произход ще позволи само на randomScript.js да има достъп до страници в google.com, като google.com/mail, google.com/login или google.com/signup. Той обаче няма достъп до страници от различни сайтове като yahoo.com/search или guru99.com, тъй като те принадлежат към различни домейни.
Това е причината, поради която преди Selenium RC тестерите трябваше да инсталират локални копия както на Selenium Core (програма на JavaScript), така и на уеб сървъра, съдържащ тестваното уеб приложение, така че да принадлежат към един и същи домейн
Раждане на дистанционно управление на селен (Selenium RC)
За жалост; тестерите, използващи Selenium Core, трябваше да инсталират цялото тествано приложение и уеб сървъра на собствените си локални компютри поради ограниченията, наложени от същата политика за произход. Така че друг инженер на ThoughtWork , Пол Хамант , реши да създаде сървър, който да действа като HTTP прокси, за да „подведе“ браузъра, за да повярва, че Selenium Core и уеб приложението, което се тества, идват от един и същи домейн. Тази система стана известна като дистанционно управление Selenium или Selenium 1 .
Раждане на селеновата решетка
Selenium Grid е разработен от Patrick Lightbody, за да отговори на необходимостта от свеждане до минимум на времето за изпълнение на теста, доколкото е възможно. Първоначално той нарече системата „ Hosted QA “. Той можеше да заснема екранни снимки на браузъра по време на значителни етапи, както и да изпраща команди Selenium на различни машини едновременно.
Раждане на селен IDE
Япония Шиня Касатани създаде Selenium IDE , разширение за Firefox, което може да автоматизира браузъра чрез функция за запис и възпроизвеждане. Той излезе с тази идея за допълнително увеличаване на скоростта при създаване на тестови случаи. През 2006 г. той дари ID на Selenium за проекта Selenium .
Раждане на WebDriver
Саймън Стюарт създаде WebDriver около 2006 г., когато браузърите и уеб приложенията стават все по-мощни и по-рестриктивни с JavaScript програми като Selenium Core. Това беше първата рамка за тестване на различни платформи, която можеше да контролира браузъра от нивото на операционната система.
Раждане на селен 2
През 2008 г. целият екип на Selenium реши да обедини WebDriver и Selenium RC, за да формира по-мощен инструмент, наречен Selenium 2 , като WebDriver е ядрото . В момента Selenium RC все още се разработва, но само в режим на поддръжка. По-голямата част от усилията на проекта Селен сега са насочени към Селен 2.
И така, защо името Селен?
Името Селен идва от шега, която Джейсън изтърси веднъж в екипа си. По време на разработката на Selenium, друга автоматизирана рамка за тестване беше популярна, направена от компанията, наречена Mercury Interactive (да, компанията, която първоначално е направила QTP, преди да бъде придобита от HP). Тъй като селенът е добре известен противоотрова за отравяне с живак, Джейсън предложи това име и неговите съотборници да го вземат. Така че ние трябва да наречем тази рамка до момента.
Кратко въведение Селен IDE
Интегрираната среда за разработка на Selenium (IDE) е най -простата рамка в пакета Selenium и е най-лесната за научаване . Това е приставка за Firefox, която можете да инсталирате възможно най-лесно с други приставки. Въпреки това, поради своята простота, Selenium IDE трябва да се използва само като инструмент за прототипиране . Ако искате да създадете по-напреднали тестови случаи, ще трябва да използвате или Selenium RC, или WebDriver.
Кратко въведение Селеново дистанционно управление (Selenium RC)
Selenium RC беше водещата рамка за тестване на целия проект на Selenium дълго време. Това е първият инструмент за автоматизирано уеб тестване, който позволява на потребителите да използват предпочитан от тях език за програмиране . От версия 2.25.0 RC може да поддържа следните езици за програмиране:
- Java
- ° С#
- PHP
- Python
- Perl
- Руби
Кратко въведение WebDriver
WebDriver се оказва по-добър и от Selenium IDE, и от Selenium RC в много аспекти. Той прилага по-модерен и стабилен подход за автоматизиране на действията на браузъра. WebDriver, за разлика от Selenium RC, не разчита на JavaScript за тестване за автоматизация на Selenium. Той контролира браузъра, като директно комуникира с него.
Поддържаните езици са същите като тези в Selenium RC.
- Java
- ° С#
- PHP
- Python
- Perl
- Руби
Решетка от селен
Selenium Grid е инструмент, използван заедно с Selenium RC за провеждане на паралелни тестове на различни машини и различни браузъри едновременно. Паралелно изпълнение означава провеждане на множество тестове наведнъж.
Характеристика:
- Позволява едновременно провеждане на тестове в множество браузъри и среди.
- Спестява изключително много време .
- Използва концепцията hub-and-nodes . Хъбът действа като централен източник на команди на Selenium към всеки възел, свързан към него.
Забележка относно поддръжката на браузъра и околната среда
Поради своите архитектурни различия, Selenium IDE, Selenium RC и WebDriver поддържат различни набори от браузъри и операционни среди.
ID на селен | WebDriver | |
---|---|---|
Поддръжка на браузър | Mozilla Firefox | Internet Explorer версии 6 до 11, както 32, така и 64-битова версия на Microsoft Edge 12.10240 и по-нова (частична поддръжка на някои функционалности в процес на разработка) Firefox 3.0 и по-нови Google Chrome 12.0. и по-горе Opera 11.5 и по-нови Android - 2.3 и по-нови за телефони и таблети (устройства и емулатори) iOS 3+ за телефони (устройства и емулатори) и 3.2+ за таблети (устройства и емулатори) HtmlUnit 2.9 и по-нови |
Операционна система | Windows, Mac OS X, Linux | Всички операционни системи, в които браузърите по-горе могат да работят. |
Забележка: Selenium WebDriver се нарича наследник на Selenium RC, който е остарял и официално обявен от SeleniumHQ.
Как да изберем подходящия инструмент за селен за вашите нужди
Инструмент | Защо да изберем? |
---|---|
ID на селен |
|
Селен RC |
|
WebDriver |
|
Решетка от селен |
|
Сравнение между селен и QTP (сега UFT)
Quick Test Professional (QTP) е патентован инструмент за автоматизирано тестване, притежаван преди това от компанията Mercury Interactive, преди да бъде придобит от Hewlett-Packard през 2006 г. Suite Selenium Tool Suite има много предимства пред QTP, както е описано по-долу -
Предимства и предимства на селена пред QTP
Селен | QTP |
---|---|
Отворен код , безплатен за използване и безплатно. | Търговски . |
Силно разтегателен | Ограничени добавки |
Може да провежда тестове в различни браузъри | Може да изпълнява тестове само във Firefox , Internet Explorer и Chrome |
Поддържа различни операционни системи | Може да се използва само в Windows |
Поддържа мобилни устройства | QTP поддържа автоматизация на тестове за мобилни приложения (iOS и Android), използвайки решение на HP, наречено - HP Mobile Center |
Може да се изпълни тестове , докато на браузъра е сведена до минимум | Необходимо е тестваното приложение да бъде видимо на работния плот |
Може да изпълнява паралелно тестове . | Може да изпълнява само паралелно, но използвайки Център за качество, който отново е платен продукт. |
Предимства на QTP пред селен
QTP | Селен |
---|---|
Може да тества както уеб, така и настолни приложения | Може да тества само уеб приложения |
Предлага се с вградено хранилище на обекти | Няма вградено хранилище на обекти |
Автоматизира се по-бързо от Selenium, защото е пълнофункционална IDE. | Автоматизира се с по-ниска скорост, тъй като няма вградена IDE и само IDE на трета страна може да се използва за разработка |
Тестването, управлявано от данни, е по-лесно за изпълнение, тъй като има вградени глобални и локални таблици с данни . | Тестването, управлявано от данни, е по-тромаво, тъй като трябва да разчитате на възможностите на програмния език за задаване на стойности за вашите тестови данни |
Може да има достъп до контролите в браузъра (като лентата с предпочитани, адресната лента, бутоните Назад и Напред и т.н.) | Няма достъп до елементи извън тестваното уеб приложение |
Осигурява професионална поддръжка на клиенти | Не се предлага официална потребителска поддръжка. |
Има собствена възможност за експортиране на тестови данни във външни формати | Няма естествена възможност за експортиране на данни за изпълнение във външни формати |
Изградена е поддръжка за параметризиране | Параметризацията може да се извърши чрез програмиране, но е трудна за изпълнение. |
Тестовите отчети се генерират автоматично | Няма естествена поддръжка за генериране на отчети за тестове / грешки. |
Въпреки че очевидно QTP има по-разширени възможности, Selenium превъзхожда QTP в три основни области:
- Цена (тъй като селенът е напълно безплатен)
- Гъвкавост (поради редица програмни езици, браузъри и платформи, които може да поддържа)
- Паралелно тестване (нещо, на което QTP е способен, но само с използване на Център за качество)
Обобщение
- Целият пакет за тестване на софтуер Selenium се състои от четири компонента:
- Selenium IDE, добавка за Firefox, която можете да използвате само при създаването на относително прости тестови случаи и тестови пакети.
- Дистанционно управление на Selenium, известно още като Selenium 1, което е първият инструмент на Selenium, който позволява на потребителите да използват езици за програмиране при създаване на сложни тестове.
- WebDriver, по-новият пробив, който позволява на вашите тестови скриптове да комуникират директно с браузъра, като по този начин го контролират от ниво на ОС.
- Selenium Grid също е инструмент, който се използва със Selenium RC за изпълнение на паралелни тестове в различни браузъри и операционни системи.
- Selenium RC и WebDriver бяха обединени, за да образуват Selenium 2.
- Селенът е по-изгоден от QTP по отношение на разходите и гъвкавостта. Той също така ви позволява да провеждате тестове паралелно, за разлика от QTP, където ви е позволено да провеждате тестове само последователно.