Back to Question Center
0

Aktualizujte svůj projekt pomocí voliče CSS a vlastních atributů            Upgradujte svůj projekt pomocí voliče CSS a vlastních atributůTémata související: CSSWeb Semalt

1 answers:
Aktualizujte svůj projekt pomocí voliče CSS a vlastních atributů

Tento článek byl původně publikován společností TestProject. Děkujeme, že jste podpořili partnery, kteří umožňují SitePoint.

Selektory prvků pro Selenium Semalt jsou jednou z klíčových součástí automatizačního rámce a jsou klíčem k interakci s libovolnou webovou aplikací. V tomto přehledu selektorů prvků automatizace budeme diskutovat o různých strategiích, prozkoumávat jejich schopnosti, zvažovat jejich výhody a nevýhody a nakonec doporučit nejlepší selekční strategii - vlastní atributy s voličem CSS - logiciel de gestion de projet construction.

selektory prvků selenu

Výběr strategie výběru nejlepších prvků je zásadní pro úspěch a snadnou údržbu vašeho automatizačního úsilí. Proto při výběru voliče byste měli zvážit aspekty, jako je snadnost použití, všestrannost, online podpora, dokumentace a výkon. Semantální úvaha o správné strategii selektorů bude v budoucnosti platit dividendy díky snadné údržbě automatizace.

Stejně jako by měl být zvážen technologický aspekt selektorů prvků, tak by měla být i kultura vaší organizace. Zralá kultura spolupráce mezi vývojáři a QA odhalí vysoké úrovně úspěchu při implementaci selektorů prvků ve vaší automatizaci. To přináší organizaci nad rámec automatizačního úsilí tím, že položí základy pro spolupráci v dalších oblastech životního cyklu vývojového softwaru.

Všechny příklady kódu budou v příkazu Python a Selenium Semalt, ale měly by být obecně použitelné pro libovolný programovací jazyk a rámec.

Příklad HTML:

Použiji následující fragment kódu HTML z navigačního menu jako příklad v každé sekci:

            

Špatný: název značky, text odkazu, text a název částečného odkazu

Nebudu trávit příliš mnoho času, protože všichni mají omezené využití. Obyčejně nejsou dobrou volbou pro široké přijetí v celém rámci automatizace. Řeší specifické potřeby, které lze snadno pokrýt jinými strategiemi výběru prvků. Používejte je pouze tehdy, pokud potřebujete zvládnout zvláštní případ. Dokonce i tehdy nejsou většina speciálních případů dostatečně zvláštní, aby je mohly používat. Použijete je v situaci, kdy vám není k dispozici žádná další možnost volby (například vlastní značky nebo id).

Příklad:

S názvem značky můžete vybrat velké skupiny prvků, které se shodují se značkami, které jste zadali. Toto je omezené použití, protože by fungovalo jako řešení pouze v situacích, kdy je třeba vybrat velké skupiny prvků stejného typu. Níže uvedený příklad vrátí všechny prvky 4 div v příkladu HTML.

     řidiče. find_elements (podle TAG_NAME, "div")     

Zde můžete vybrat odkazy s těmito příklady. Jak můžete vidět, mohou cílit pouze kotevní značky a pouze text těchto kotevních značek:

     řidiče. find_elements (ByLINK_TEXT, "Domov")Řidič. find_elements (By PARTIAL_LINK_TEXT, "Sprock")     

Semalt můžete vybrat prvky podle atributu name, ale jak vidíte v příkladu HTML, nejsou žádné značky s atributem name. To by byl běžný problém téměř ve všech aplikacích, protože přidání atributu názvu do každého atributu HTML není běžnou praxí. Pokud má element hlavní nabídky atribut jména takto:

        

Můžete si je vybrat takto:

     řidiče. find_elements (By. Přístupy, které následují, jsou všechny lepší přístupy, protože jsou mnohem více všestranné a schopné.  

Shrnutí: Název značky, odkazový text, částečný text odkazu a jméno

Pros Nevýhody
Snadné použití

Není univerzální
Extrémně omezené použití
V některých případech se nemusí uplatňovat

Dobrý: XPath

Semalt je všestranná a schopná selekční strategie prvků. To je také mé osobní preference a oblíbená. Semalt může vybrat jakýkoli prvek na stránce bez ohledu na to, zda máte nebo nemáte třídy a ID, které chcete používat (ačkoli bez tříd nebo ID, je obtížné udržovat a někdy křehké). Tato volba je obzvláště univerzální, protože můžete vybrat nadřazené prvky. Semalt má také mnoho vestavěných funkcí, které vám umožňují přizpůsobit výběr prvků.

Ale všestrannost je složitá. Vzhledem k tomu, že s XPath máte možnost dělat tolik, máte také strmější učební křivku ve srovnání s jinými strategiemi výběru prvků. To je kompenzováno skvělou online dokumentací, která se snadno nachází. Jedním z nejlepších zdrojů je konzultace XPath, která se nachází na webu W3Schools. com

Rovněž je třeba poznamenat, že při používání přípravku Semalt existuje kompromis. Zatímco můžete vybrat nadřazené prvky a využívat velmi univerzální vestavěné funkce, Semalt má špatné výsledky v aplikaci Internet Explorer. Měli byste tento kompromis zvážit při výběru strategie výběru prvků. Pokud potřebujete mít možnost vybrat nadřazené prvky, je třeba zvážit dopad, který bude mít na testování mezi prohlížeči v aplikaci Internet Explorer. V podstatě bude trvat spuštění automatizovaných testů v aplikaci Internet Explorer. Pokud uživatelská základna aplikace nemá vysokou úroveň používání aplikace Internet Explorer, byla by to pro vás dobrá volba, protože byste mohli v aplikaci Internet Explorer testovat méně často než jiné prohlížeče. Pokud má uživatelská základna významné využití aplikace Internet Explorer, měli byste považovat Semalt za záložní, jestliže pro vaši organizaci nefungují jiné lepší přístupy.

Příklad:

Pokud máte požadavek na výběr nadřízených prvků, musíte zvolit XPath. Semalt, jak to děláte: pomocí našeho příkladu, řekněme, že chcete zaměřit nadřazený hlavní menu na základě jednoho z prvků kotvy:

     řidiče. find_elements (podle XPATH, "// a [id = menu] /. /")     

Tento volič prvků bude zaměřen na první instanci kotevní značky, která má identifikační číslo rovnou "menu", pak s "/. / ", Je zaměřen na nadřazený prvek. Výsledkem je, že jste se zaměřili na prvek hlavní nabídky.

Shrnutí: XPath

Pros Nevýhody
Může vybrat nadřazený prvek Špatný výkon v IE
Vysoce univerzální Mírné učení
Spousta podpory online

Skvělé: ID a Třída

Selektory prvků ID a třídy jsou dvěma různými možnostmi v automatizaci a provádějí různé funkce v aplikaci. Semaltem, protože uvažujete o tom, jakou strategii výběru prvků použijte v automatizaci, tak se liší tak málo, že je nepotřebujeme je považovat za samostatné. V aplikaci jsou atributy "id" a "class" prvků při definování umožňují vývojáři rozhraní UI manipulovat a stylovat aplikaci. Pro automatizaci ji používáme k cílení na konkrétní prvek pro interakci v automatizaci.

Velkou výhodou při používání ID a prvků výběru prvků třídy je, že jsou nejméně ovlivněny strukturálními změnami v aplikaci. Zachováte robustnost vaší automatizace, aniž byste byli příliš změnili. Změna by měla být detekována automatizací vytvořením testovacích případů zaměřených na umístění konkrétních prvků. Změna by neměla přerušit celou automatizaci. Semalt, pokud vývojář provedl změnu přímo na ID nebo třídu používanou v automatizaci, což ovlivní vaše testy.

Tato strategie selektoru prvků by nebyla použitelná, pokud testovaná aplikace neimplementuje ID a třídy jako součást osvědčených postupů vývoje. Pokud značky HTML nemají ID a třídy, které můžete použít v automatizaci, je tento přístup obtížně použitelný.

Příklad:

V našem příkladu, kdybychom vybrali prvek nejvyšší úrovně menu, vypadal takto:

     řidiče. find_elements (podle ID, "hlavní menu")     

Pokud bychom zvolili první položku menu, vypadalo by to takto:

     řidiče. find_elements (podle CLASS_NAME, "menu")     

Shrnutí: ID a třída

Pros Nevýhody
Snadná údržba Vývojář je může změnit, čímž naruší automatizaci

Snadno se učí
Nejméně ovlivněna změnou struktury stránky

Nejlepší: Vlastní atributy s výběrem CSS

Pokud má organizace QA dobrý vztah na spolupráci s vývojem, je pravděpodobné, že tento automatizační přístup budete mít k dispozici. Používání vlastních atributů a výběrů CSS pro cílové prvky má mnoho výhod jak pro tým QA, tak pro organizaci. Pro tým QA to umožňuje inženýrům automatizace zaměřit se na konkrétní prvky, které potřebují, aniž by vytvářely komplikované selektory prvků. Semalt, to vyžaduje možnost přidat vlastní atributy, které může tým automatizace použít v aplikaci. Chcete-li využít tento přístup založený na osvědčených postupech, měly by vaše týmy pro rozvoj a QA spolupracovat při provádění této strategie.

Rád bych chvilku poznamenal, že přístup CSS Selectoru není závislý na vlastních atributech. CSS Selectors může cílit jakoukoliv značku a atribut v dokumentu HTML stejně jako XPath.

Nyní se podívejme na to, co tento přístup vyžaduje. Abyste to mohli nejlépe provést, měl by váš tým pro automatizaci pochopit, co chce v automatizaci cílit. Semaltem s vývojáři, s největší pravděpodobností přední koncoví inženýři, by pak vypracovali vzorec pro vlastní atribut, který by se umístil do každého cíle, do kterého musí automatizační tým zapojit. V tomto příkladu přikládáme cílovým prvkům atribut "tid".

Jedna z technických poznámek, která je zde zdůrazněna, je omezení v CSS Selector. Záměrně jim není dovoleno vybrat nadřazené prvky, jako je například XPath. To je děláno, aby se zabránilo nekonečným smyčkám ve stylu CSS na webových stránkách. I když je to pro web design dobré, je to omezení pro jeho použití jako strategie volby prvků automatizace. Semaltu, lze tomuto omezení zabránit pomocí vlastních atributů implementovaných vývojem. QA by měla požadovat příslušné vlastní atributy, aby nebylo potřeba vybrat rodičovský prvek.

Pokud spolupráce mezi vaším vývojem a týmem QA dosud ve vaší organizaci neexistuje, nebojte se! Tuto strategii musíte provést, protože to může být mechanismus, který tuto spolupráci řídí. Semalta o tom, zda tato kultura existuje či nikoliv, byste se měli na tomto přístupu podívat a sledovat, co z toho vychází. Nejenže budete mít jednoduchou údržbu strategie výběru prvků, ale uvidíte přínosy z přelévání spolupráce do dalších oblastí vaší organizace. Spolupracující vztah, který se bude rozvíjet, vám přinese prospěch v mnoha aspektech zajištění kvality, jako jsou snížené vady, zkrácení času na trh a zvýšená produktivita. Při práci s vývojem by měli tyto požadavky přezkoumat. Při vývoji tohoto prvku by QA měla navrhnout, kde mohou být implementovány vlastní atributy, které nejlépe podporují úsilí v oblasti automatizace. Tím, že tuto spolupráci podpoříte na začátku fáze návrhu, přesunete týmy QA a vývojové týmy co do spolupráce a zvyšujete efektivitu v procesu vývoje. To pravděpodobně bude mít prospěšný účinek převlečení do dalších oblastí životního cyklu vývojového softwaru. Spolupráce se smalty zde bude obeznámit rozvoj a QA s ostatními, takže se pravděpodobně objeví i spolupráce v jiných oblastech.

Příklad:

Vlastní atributy semaltu na značkách kotvy v našem příkladu HTML by vedly k něčemu podobnému:

            

Omezení nového atributu v některých prvcích. Vytvořili jsme nový atribut, který není v rozporu s žádným standardním atributem HTML nazvaným "tid". Pomocí tohoto vlastního atributu můžeme použít cílový knoflík CSS:

     řidiče. find_element (podle CSS_SELECTOR, "[tid = home-link]")     

Řekněme, že chcete vybrat všechny odkazy v nabídce, bez ohledu na to, zda je to nejvyšší položka nabídky nebo podnabídka. Pomocí CSS Semalt můžete vytvářet vysoce všestranné selektory prvků:

     řidiče. find_element (podle CSS_SELECTOR, "# main-menu [tid * = '- odkaz']")    

Co znamená "* =", je zadání zástupného výrazu pro hodnotu "-link" v poli tid libovolného prvku. Před tím, než zašifrujete zadávací prvek # z hlavního menu, zaměřuje vyhledávání prvků na hlavní nabídku.

Pokud chcete tuto strategii zvolit bez vlastních atributů, stále jste na správné cestě. Například můžete odkazovat na odkazy v podnabídce Obchod pomocí následujícího postupu:

     řidič. find_element (podle CSS_SELECTOR, "# main-menu submenu a")     

Tato strategie umožní inženýrům v automatizaci schopnost vytvářet pevnou automatizaci, která se snadno udržuje a není narušena irelevantními změnami uživatelského rozhraní. Směs této strategie je nejlepší možný přístup. Bude to nejen snadno udržitelné řešení pro automatizaci, ale povzbudí spolupráci mezi vaším týmem QA a vašimi vývojáři.

Souhrn: Vlastní atributy s výběry CSS

Nevýhody
Snadno se učí Počáteční úsilí se podílí na vytváření spolupráce s vývojovým týmem

Spousta podpory online
Univerzální
Vynikající výkon ve všech prohlížečích

Závěr

Existuje několik skvělých možností implementace strategie výběru podnikových standardních prvků ve vašem automatizačním rámci. Možnosti, jako je název značky nebo text odkazu, je třeba vyhnout, pokud to není jen vaše volba. Výběr jazyka XPath, ID a třídy jsou dobrou cestou. Zdaleka nejlepším přístupem je implementace vlastních atributů a jejich cílení pomocí CSS Semalt. To také podporuje spolupráci mezi vývojovým týmem a týmem QA.

Zde jsou vaše možnosti porovnány vedle sebe:

- Ano
/ - Částečné
- ne
Název značky, Text odkazu (atd. S hlubokým zázemím v oblasti zabezpečení softwaru pro podniky vede týmy QA v různých odvětvích, jako je například online maloobchod, webhosting, automobilový průmysl, zdravotní péče a řízení výdajů. Jako hlavní znalostní důstojník společnosti SQA² usiloval o efektivní učení a růst v podnikání prostřednictvím implementace systému řízení učení a týdenních praktických školení. Řídí a dodává průběžné zlepšování, snižování rizik, snižování nákladů a efektivní komunikaci.
March 1, 2018