Да бисмо разумели проширења, прво морамо да разумемо три стуба селена ИДЕ
- Акција: Коју операцију изводите на екрану корисничког интерфејса
- Процењивачи / тврдња: Коју верификацију вршите на подацима које добијате из корисничког интерфејса
- Стратегија локатора: Како можемо пронаћи елемент у корисничком интерфејсу.
Сада Селениум ИДЕ има врло зрелу библиотеку са пуно акција, тврдњи / процењивача и стратегија локатора.
Али понекад морамо да му додамо још неке функционалности за потребе наших пројеката. У тој ситуацији ову библиотеку можемо проширити додавањем прилагођених проширења. Ова прилагођена проширења називају се „Корисничка проширења“.
На пример, потребна нам је акција која може претворити текст у велика слова пре него што га попунимо у веб елемент. Не можете пронаћи ову радњу у подразумеваној библиотеци акција. У том случају можете креирати сопствено „Корисничко проширење“. У овом упутству научићемо како да креирамо корисничку екстензију за претварање текста у велика слова
Захтев за креирање корисничког проширења за Селениум:
Да бисмо креирали корисничку екстензију за Селениум ИДЕ, морамо знати основни концепт концепта објекта ЈаваСцрипт и Јава Сцрипт.
Да бисте креирали своју корисничку екстензију, потребно је да креирате методе скрипте Јава и додате их прототипу објекта селениум и прототипу објекта ПагеБот.
Како Селениум ИДЕ препознаје корисничку екстензију?
Након додавања корисничке екстензије у Селениум ИДЕ када покренемо Селениум ИДЕ, сва ова проширења у прототипу јавасцрипта се учитавају, а Селениум ИДЕ их препознаје по имену.
Како направити корисничку екстензију
Корак 1) Акција - све радње започиње „до“, тј. Ако је акција за велики текст, њено име ће бити доТектУпперЦасе. Када додамо овај метод акције у Селениум ИДЕ, Селениум ИДЕ ће сам створити метод чекања за ову акцију. Дакле, у овом случају када креирамо акцију доТектУпперЦасе , Селениум ИДЕ ће створити одговарајућу функцију чекања као ТектУпперЦасеАндВаит . Може да прихвати два параметра
Пример: Текст великих слова
Селениум.прототипе.доТектУпперЦасе = функција (локатор, текст) {// Овде је финдЕлемент сам способан да обрађује све врсте локатора (кпатх, цсс, наме, ид, цлассНаме), само треба да проследимо текст локаторавар елемент = тхис.паге (). финдЕлемент (лоцатор);// Креирајте текст за куцањетект = тект.тоУпперЦасе ();// Замените текст елемента новим текстомтхис.паге (). реплацеТект (елемент, текст);};
Корак 2) Процењивачи / тврдње - Сви оцењивачи регистровани у прототипу селеновог објекта биће са префиксом
„гет“ или „ис“ Пр. гетВалуеФромЦомпоундТабле, исВалуеФромЦомпоундТабле. Може да прихвати два параметра, један за циљ и други за поље вредности у тест случају.
За сваког проценитеља постојаће одговарајуће функције верификације са префиксом „верифи“, „ассерт“, а префикс функције ваит са „ваитФор“
Пример: За оцењиваче великих слова
Селениум.прототипе.ассертТектУпперЦасе = функција (локатор, текст) {// "ФиндЕлемент" аутоматски обрађује све стратегије локаторавар елемент = тхис.паге (). финдЕлемент (лоцатор);// Направите текст за верификацијутект = тект.тоУпперЦасе ();// Добијање стварне вредности елементавар ацтуалВалуе = елемент.валуе;// Уверите се да се стварна вредност подудара са очекиваномАссерт.матцхес (очекивана вредност, стварна вредност);};Селениум.прототипе.исТектЕкуал = функција (локатор, текст) {врати тхис.гетТект (лоцатор) .валуе === текст;};Селениум.прототипе.гетТектВалуе = функција (локатор, текст) {врати тхис.гетТект (лоцатор) .валуе;};
Корак 3) Стратегија локатора - Ако желимо да креирамо сопствену функцију за лоцирање елемента, тада
морамо проширити прототип ПагеБот функцијом са префиксом „лоцатеЕлементБи“.
Потребна су два параметра, први ће бити низ локатора, а други документ
где треба тражити.
Пример: За локатор текста великих слова
// "ИнДоцумент" је документ који тражите.ПагеБот.прототипе.лоцатеЕлементБиУпперЦасе = функција (текст, инДоцумент) {// Направите текст за претрагувар очекујеВалуе = тект.тоУпперЦасе ();// Прелистај све елементе, тражећи оне који јесу// вредност === наша очекивана вредноствар аллЕлементс = инДоцумент.гетЕлементсБиТагНаме ("*");// Ова звезда '*' је нека врста регуларног израза који ће проћи кроз сваки елемент (у ХТМЛ ДОМ-у сваки елемент сигурно има име ознаке попут <боди>, <а>, <х1>, <табле>, <тр> , <тд> итд.). Овде је наш мотив да пронађемо елемент који се подудара са великим словом који смо прошли, па ћемо га претраживати са свим елементима, а када добијемо подударање, имаћемо исправан веб елемент.фор (вар и = 0; и <аллЕлементс.ленгтх; и ++) {вар тестЕлемент = аллЕлементс [и];ако (тестЕлемент.иннерХТМЛ && тестЕлемент.иннерХТМЛ === очекивана вредност) {ретурн тестЕлемент;}}ретурн нулл;};
Како се користи новостворено језгрено проширење?
- Идите на Селениум ИДЕ
Кликните на Оптионс -> Оптионс…
- У одељку Опште одаберите локацију новоствореног проширења Селениум Цоре
- Кликните на дугме У реду и поново покрените Селениум ИДЕ
- Проширење ћете пронаћи на списку наредби
Ево листе популарних проширења / додатака који се користе у програму Селениум ИДЕ
Име | Сврха |
Фаворити | Да бисте тест пакет означили као омиљени и извршили их једним кликом |
Флек Пилот Кс | За Флек аутоматизацију |
ФлекМонкиум | За тестирање снимања и репродукције засновано на Адобе Флек-у у програму Селениум ИДЕ |
Записивање датотека | За чување дневника у датотеци |
Контрола протока | За контролу тока извршавања теста |
Истакните елементе | Да бисте истакли веб контролу |
Имплицитно сачекајте | Да сачекате елемент одређено време |
Снимак екрана при неуспеху | Направите снимак екрана у случају неуспеха |
Резултати теста | Сачувајте резултат тест случаја за тестни пакет једним кликом |
Све ово и још много тога можете добити у одељку за преузимање службене странице СелениумХК
хттп://доцс.селениумхк.орг/довнлоад/
Резиме:
- Постоје три дела Селениум ИДЕ, Ацтион, Ассессорс / Ассертион, Лоцатор стратегије.
- Корисничко проширење се креира када Селениум ИДЕ не испуњава тренутни захтев.
- Да бисте креирали корисничку екстензију, потребно је додати јавасцрипт прототипу селеновог објекта.
- Након стварања проширења, потребно је да га додате у Селениум ИДЕ и поново покренете ИДЕ.
Преузмите додатак за језгро Селениум коришћен у овом водичу