Aby bol akýkoľvek komerčný softvér úspešný, musí prejsť niekoľkými testami. Automatizácia by mohla byť užitočná pri používateľských testoch simulujúcich použitie softvéru rovnako, ako by to urobil používateľ. Je to tiež užitočné pri penetračných testoch, ako je napríklad pokus o prelomenie hesiel, vykonanie injekcií SQL atď.
Okrem testovania by mohla byť automatizácia webu veľmi užitočná na zošrotovanie ťažkých webov v JavaScripte.
Selén je jedným z najefektívnejších nástrojov pre automatizáciu webu. Je veľmi populárny aj v rôznych jazykoch a je k dispozícii v jazykoch ako Java, JavaScript.
Inštalácia
Selén je možné inštalovať v pythone pomocou pip modulu, ako je uvedené v nasledujúcom príkaze:
pip nainštaluj selénNainštalovalo by to knižnicu a potrebné závislosti, inštaláciu je možné potvrdiť jej importom v interaktívnej relácii.
$ pythonPython 3.5.2 (predvolené, 14. septembra 2017, 22:51:06)
[GCC 5.4.0 20160609] v systéme Linux
Ďalšie informácie získate zadaním výrazu „help“, „copyright“, „credit“ alebo „license“.
>>> import selénu
Pretože sa nevyskytla žiadna chyba, znamená to, že naša inštalácia bola úspešná. Tým to však nekončí; je to preto, že selén pracuje ruka v ruke s prehľadávačmi, ako sú Chrome a Firefox, a na to, aby mohol plniť svoje úlohy, potrebuje ovládač z prehliadača.
Budeme sa pozerať na to, ako nainštalovať ovládače. Pre Mozilla Firefox si môžete stiahnuť jeho ovládač známy ako geckodriver zo stránky github. Ak ste používateľom prehliadača Chrome, môžete si stiahnuť jeho ovládač známy ako chromedriver z oficiálnej stránky.
Po stiahnutí potom na cestu pridáte ovládač. Osobne by som si chcel takýto súbor ponechať vo svojom / usr / local / bin adresár a poradil by som vám, aby ste urobili to isté.
Ak to chcete urobiť, nižšie uvedený príkaz by ho mal presunúť z aktuálneho adresára do priečinka kôš adresár.
$ sudo mv geckodriver / usr / local / bin$ sudo mv chromedriver / usr / local / bin
Pridať geckodriver alebo chromedriver na cestu z tohto adresára, spustite nasledujúci príkaz.
$ export PATH = $ PATH: / usr / local / bin / geckodriver$ export PATH = $ PATH: / usr / local / bin / chromedriver
Po pridaní ovládača požadovaného prehľadávača do cesty môžete spustením nasledujúcich krokov z interaktívnej relácie potvrdiť, či je všetko v poriadku.
Pre Firefox:
$ pythonPython 3.5.2 (predvolené, 14. septembra 2017, 22:51:06)
[GCC 5.4.0 20160609] v systéme Linux
Ďalšie informácie získate zadaním výrazu „help“, „copyright“, „credit“ alebo „license“.
>>> z webového ovládača na selén
>>> webdriver.Firefox ()
Pre Chrome:
$ pythonPython 3.5.2 (predvolené, 14. septembra 2017, 22:51:06)
[GCC 5.4.0 20160609] v systéme Linux
Ďalšie informácie získate zadaním výrazu „help“, „copyright“, „credit“ alebo „license“.
>>> z webového ovládača na selén
>>> driver = webdriver.Chrome ()
Po spustení tohto programu, ak sa zobrazí prehľadávač, je všetko v poriadku. Teraz môžeme pokračovať v práci so selénom.
Väčšina kódu pre zvyšok tohto článku by sa urobila v interaktívnej relácii, môžete ho však napísať do súboru rovnako ako obvyklý pythonovský skript.
Tiež by sme pracovali na vodič premenná z vyššie uvedeného kódu.
Navštívte webové stránky
Po otvorení webovej stránky môžete navštíviť ktorúkoľvek webovú stránku zavolaním na ikonu dostať metóda na vodič. Otvorený prehliadač potom načíta odovzdanú adresu, rovnako ako by to urobil, keď to urobíte sami.
Nezabudnite použiť protokol http: // alebo https: //, inak by ste sa museli vyrovnať s nepríjemnými chybami.
>>> vodič.get ("http: // google.com ")Týmto by sa načítala domovská stránka Google.
Získava sa zdrojový kód
Teraz, keď sme sa naučili navštevovať webové stránky, môžeme zo navštívenej webovej stránky vyškrabať údaje.
Z vodič objektu, môžeme získať zdrojový kód zavolaním na page_source pomocou html môžete pomocou knižnice BeautifulSoup robiť, čo chcete.
>> vodič.page_sourceVyplnenie textových polí
Ak sme napríklad načítali domovskú stránku Google a chceme do vyhľadávacieho poľa zadať nejaké informácie; dá sa to ľahko urobiť.
Za týmto účelom pomocou prvku inšpektor skontrolujeme zdrojový kód a zobrazíme informácie o značke vyhľadávacieho poľa. Stačí kliknúť pravým tlačidlom myši na vyhľadávacie pole a vybrať preskúmať prvok.
Vo svojom počítači som dostal nasledujúce:
value = "" aria-label = "Hľadať" aria-haspopup = "false" role = "combobox" aria-autocomplete = "zoznam"style = "border: medium none; padding: 0px; margin: 0px; height: auto; width: 100%;
pozadie: priehľadné
url ("data: image / gif; base64, R0lGODlhAQABAID / AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEA
Ow% 3D% 3D ") opakujte posúvanie 0% 0%; pozícia: absolútna; z-index: 6; doľava: 0px; obrys:
medium none; "dir =" ltr "spellcheck =" false "type =" text ">
Pomocou selénu môžeme vyberať prvky buď podľa názvu značky, ID, názvu triedy atď.
Môžu byť implementované pomocou nasledujúcich metód:
.find_element_by_id.find_element_by_tag_name
.find_element_by_class_name
.find_element_by_name
Na webovej stránke google má vyhľadávacie pole ID prvý-ib, takže by sme našli prvok podľa id.
>>> search_box = ovládač.find_element_by_id ("lst-ib")Teraz, keď sme našli prvok a uložili ho do a pole hľadania premennej, môžeme vykonať niektoré operácie vo vyhľadávacom poli.
>>> search_box.send_keys ("Planéta Zem")Týmto by sa do poľa vložil text „Planéta Zem“.
>>> search_box.jasný()Týmto by sa zadaný text vymazal z vyhľadávacieho poľa. Mali by ste použiť send_keys metóda znova, v ďalšej časti by sme klikali na tlačidlo hľadania, aby sme mali čo hľadať.
Kliknutím na pravé tlačidlá
Teraz, keď sme vyplnili vyhľadávacie pole niektorými informáciami, môžeme pokračovať a hľadať.
Rovnakým spôsobom, ako sme našli vyhľadávacie pole, rovnakým spôsobom nájdeme aj vyhľadávacie tlačidlo.
Vo svojom počítači som dostal nasledujúce:
type = "odoslať">Z tohto pohľadu môžeme využiť atribút name. Získame ho pomocou kódu uvedeného nižšie:
>>> search_button = ovládač.find_element_by_name ("btnK")Po nájdení požadovanej značky potom môžeme kliknúť na tlačidlo pomocou kliknite metóda.
>>> tlačidlo hľadania.kliknite ()Buďte však opatrní, vďaka automatickým návrhom spoločnosti Google môžete nakoniec vyhľadať niečo iné.
Ak to chcete obísť, musíte okamžite stlačiť kláves Enter. Kľúče presahujú rámec tohto článku, ale aj tak je tento kód.
>>> zo selénu.webdriver.bežné.kľúče na import kľúčov>>> search_box = ovládač.find_element_by_id ("lst-ib")
>>> search_box.send_keys ("Planéta Zem")
>>> search_box.send_keys (Klávesy.NÁVRAT)
Pri vyššie uvedenom kóde nemusíme klikať na tlačidlo vyhľadávania. Funguje to rovnako, ako keby sme po zadaní hľadaných hodnôt stlačili kláves Enter.
Táto metóda klikania na buttosn nefunguje iba s tlačidlami, ale funguje aj s odkazmi.
Robenie snímok obrazovky
Čítate dobre! Snímky obrazovky môžete robiť pomocou selénu a je to také ľahké ako v predchádzajúcich častiach.
Čo urobíme, je zavolať na uložiť_snímok obrazovky metóda na objekte ovládača, potom by sme zadali názov obrázka a nasnímala by sa snímka obrazovky.
>>> vodič.save_sc Screenshot („Planéta-zem.png ")Skontrolujte, či má názov obrázka a .prípona png, inak by ste mohli skončiť s poškodeným obrázkom.
Po dokončení operácií môžete prehliadač zavrieť spustením nasledujúceho kódu:
>>> vodič.Zavrieť()Záver
Selén je známy ako veľmi silný nástroj a jeho schopnosť používať ho sa považuje za životne dôležitú zručnosť pre automatizačných testerov. Selén dokáže oveľa viac, ako je popísané v tomto článku, pohyby klávesnice je možné skutočne replikovať, ako je to znázornené na obrázku Kľúče.NÁVRAT. Ak sa chcete o seléne dozvedieť viac, môžete si ho pozrieť dokumentácia, je to celkom jasné a ľahko použiteľné.