Селен

Аутоматска аутоматизација селена са Питхоном

Аутоматска аутоматизација селена са Питхоном
Сви користе мрежу у једном или другом тренутку, тако да је огроман позив за програмере да осигурају да њихове веб апликације функционишу како је предвиђено. Поред тога, веб аутоматизација би могла бити од велике помоћи.

Да би било који комерцијални софтвер био успешан, мора проћи неколико тестова. Аутоматизација би могла бити корисна за корисничке тестове, симулирајући употребу софтвера баш као и корисник. Такође је корисно за тестове пенетрације, попут покушаја провале лозинки, извршавања СКЛ убризгавања итд.

Поред тестирања, веб аутоматизација може бити врло корисна за стругање ЈаваСцрипт тешких веб локација.

Селен је један од најефикаснијих алата за веб аутоматизацију. Веома је популаран и међу различитим језицима, доступан на језицима као што су Јава, ЈаваСцрипт.

Инсталација

Селен се може инсталирати у питхон помоћу пип модула као што је приказано у наредби испод:

пип инсталирај селен

Инсталирао би библиотеку и потребне зависности, инсталација се може потврдити увозом у интерактивној сесији.

$ питхон
Питхон 3.5.2 (подразумевано, 14. септембар 2017. 22:51:06)
[ОУУ 5.4.0 20160609] на Линук-у
Унесите „помоћ“, „ауторска права“, „кредити“ или „лиценца“ за више информација.
>>> увоз селена

Будући да није дошло до грешке, то значи да је наша инсталација била успешна. Међутим, ту се не завршава; то је зато што селен ради руку под руку са прегледачима као што су Цхроме и Фирефок и потребан му је управљачки програм из прегледача да би могао да настави са својим задацима.

Погледаћемо како да инсталирамо управљачке програме. За Мозилла Фирефок можете да преузмете управљачки програм познат као гецкодривер са гитхуб странице. Ако сте корисник Цхроме-а, можете да преузмете управљачки програм познат под називом цхромедривер са званичне странице.

Након преузимања додајете управљачки програм на путању. Лично бих волео да такву датотеку сачувам у свом / уср / лоцал / бин директоријум и саветовао бих вам да то учините.

Ако желите да учините исто, наредба у наставку би требало да је пребаци из тренутног директоријума у канта за смеће именик.

$ судо мв гецкодривер / уср / лоцал / бин
$ судо мв цхромедривер / уср / лоцал / бин

Додати гецкодривер или цхромедривер да бисте дошли до путање из тог директоријума, покрените следећу наредбу.

$ екпорт ПАТХ = $ ПАТХ: / уср / лоцал / бин / гецкодривер
$ екпорт ПАТХ = $ ПАТХ: / уср / лоцал / бин / цхромедривер

Након додавања управљачког програма жељеног прегледача на путању, можете потврдити да ли све функционише у реду покретањем следећег из интерактивне сесије.

За Фирефок:

$ питхон
Питхон 3.5.2 (подразумевано, 14. септембар 2017. 22:51:06)
[ОУУ 5.4.0 20160609] на Линук-у
Унесите „помоћ“, „ауторска права“, „кредити“ или „лиценца“ за више информација.
>>> са селена за увоз вебдривер-а
>>> вебдривер.Фирефок ()

За Цхроме:

$ питхон
Питхон 3.5.2 (подразумевано, 14. септембар 2017. 22:51:06)
[ОУУ 5.4.0 20160609] на Линук-у
Унесите „помоћ“, „ауторска права“, „кредити“ или „лиценца“ за више информација.
>>> са селена за увоз вебдривер-а
>>> дривер = вебдривер.Хром()

Након покретања, ако се појави прегледач, све функционише у реду. Сада можемо да наставимо да радимо кул ствари са селеном.

Већина кода за остатак овог чланка урадила би се у интерактивној сесији, али можете га написати у датотеку баш као и ваша уобичајена питхон скрипта.

Такође, радили бисмо на возач променљива из горњег кода.

Посећивање веб страница

Након отварања веб странице, можете посетити било коју веб страницу позивом на добити метода на возач. Отворени прегледач затим учитава прослеђену адресу, баш као што би то урадио и сам.

Не заборавите да користите хттп: // или хттпс: //, иначе бисте морали да се носите са непријатним грешкама.

>>> возач.гет ("хттп: // гоогле.цом ")

Ово би учитало Гоогле почетну страницу.

Добијање изворног кода

Сада када смо научили да посећујемо веб странице, можемо да стружемо податке са посећене веб странице.

Од возач објект, изворни код можемо добити позивањем паге_соурце атрибут, тада можете да радите шта год желите са хтмл-ом користећи библиотеку БеаутифулСоуп.

>> возач.паге_соурце

Попуњавање текстуалних поља

Ако смо, на пример, учитали Гоогле-ову почетну страницу и желимо да у оквир за претрагу унесемо неке информације; то се лако може учинити.

Да бисмо то урадили, користимо елемент инспектора да бисмо проверили изворни код и видели информације о ознакама у пољу за претрагу. Да бисте то урадили, једноставно кликните десним тастером миша на поље за претрагу и изаберите прегледати елемент.

На својој машини сам добио следеће:

валуе = "" ариа-лабел = "Сеарцх" ариа-хаспопуп = "фалсе" роле = "цомбобок" ариа-аутоцомплете = "лист"
стиле = "бордер: медиум ноне; паддинг: 0пк; маргин: 0пк; хеигхт: ауто; видтх: 100%;
позадина: прозирна
урл ("подаци: слика / гиф; басе64, Р0лГОДлхАКАБАИД / АМДАвААААЦХ5БАЕАААААЛААААААБААЕАААИЦРАЕА
Ов% 3Д% 3Д ") поновите помицање 0% 0%; позиција: апсолутно; з-индекс: 6; лево: 0пк; обрис:
средња ниједна; "дир =" лтр "спеллцхецк =" фалсе "типе =" тект ">

Са селеном можемо да бирамо елементе било по имену ознаке, ИД-у, имену класе итд.

Могу се применити следећим методама:

.финд_елемент_би_ид
.финд_елемент_би_таг_наме
.финд_елемент_би_цласс_наме
.финд_елемент_би_наме

На гоогле веб страници оквир за претрагу има ИД лст-иб, па бисмо елемент пронашли по ид.

>>> сеарцх_бок = управљачки програм.финд_елемент_би_ид ("лст-иб")

Сада када смо пронашли елемент и сачували га у оквир за претрагу променљиве, можемо да извршимо неке операције на пољу за претрагу.

>>> поље за претрагу.сенд_кеис ("Планета Земља")

Ово би унело текст „Планета Земља“ у оквир.

>>> поље за претрагу.јасно()

Ово би очистило унети текст из оквира за претрагу. Требали бисте користити сенд_кеис поново у следећем одељку кликнули бисмо на дугме за претрагу како бисмо имали шта да претражимо.

Кликом на десна дугмета

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

Исти начин на који смо пронашли оквир за претрагу је исти начин на који ћемо пронаћи дугме за претрагу.

На својој машини сам добио следеће:

типе = "субмит">

Гледајући ово, можемо искористити атрибут наме. До њега можемо доћи помоћу доњег кода:

>>> сеарцх_буттон = управљачки програм.финд_елемент_би_наме ("бтнК")

Након проналаска жељене ознаке, можемо кликнути на дугме помоћу кликни метода.

>>> дугме_за претрагу.клик ()

Ипак, будите опрезни, због Гоогле-ових аутоматских предлога на крају можете потражити нешто друго.

Да бисте то заобишли, потребно је да тастатура одмах притисне тастер ентер. Кључеви су изван делокруга овог чланка, али овде је свеједно код.

>>> од селена.вебдривер.заједнички.кључеви увозе кључеве
>>> сеарцх_бок = управљачки програм.финд_елемент_би_ид ("лст-иб")
>>> поље за претрагу.сенд_кеис ("Планета Земља")
>>> поље за претрагу.сенд_кеис (Тастери.ПОВРАТАК)

Са горњим кодом не морамо да кликнемо на дугме за претрагу. Функционише као кад би притиснули тастер ентер након уноса вредности за претрагу.

Овај начин кликтања буттосна не ради само са дугмадима, већ и са везама.

Прављење снимака екрана

Добро сте прочитали! Можете да правите снимке екрана користећи селен, а то је лако као и претходни одељци.

Оно што ћемо урадити је да позовемо саве_сцреенсхот методу на објекту управљачког програма, тада бисмо проследили име слике и снимио би се снимак екрана.

>>> возач.саве_сцреенсхот ("Планет-еартх.пнг ")

Уверите се да име слике има знак .пнг, иначе бисте на крају могли имати оштећену слику.

Када завршите са операцијама, можете да затворите прегледач покретањем следећег кода:

>>> возач.Близу()

Закључак

Селен је познат као врло моћан алат, а могућност коришћења сматра се виталном вештином за тестере аутоматизације. Селен може учинити много више него што је објашњено у овом чланку, покрети тастатуре се заправо могу пресликати како је приказано са Кључеви.ПОВРАТАК. Ако желите да сазнате више о селену, можете да га проверите документација, сасвим је јасан и лак за употребу.

Вулкан за кориснике Линука
Са сваком новом генерацијом графичких картица видимо да програмери игара помичу границе графичке верности и долазе на корак од фотореализма. Али упрко...
ОпенТТД вс Симутранс
Стварање сопствене симулације превоза може бити забавно, опуштајуће и изузетно примамљиво. Због тога морате да испробате што више игара како бисте про...
Водич за ОпенТТД
ОпенТТД је једна од најпопуларнијих игара за пословну симулацију. У овој игри морате створити диван посао превоза. Међутим, почет ћете у почетку око 1...