Selenium locators



Սելեկտորներ / տեղորոշիչներ ըստ`
- ID-ի
- name-ի
- name-ի` օգտագործելով filters
- հղումային տեքստի (link text)
- CSS սելետորների
- XPath-ի


Ուսումնասիրենք CSS սելեկտորները, որոնք օգտագործվում են Web էջի էլեմենտների ընտրության համար։


Ունիվերսալ սելեկտոր
Ընտրում է բոլոր էլեմենտները։ Ցանկության դեպքում կարող է սահմանափակվել տվյալ անունների տարածությունում կամ ամբողջ անունների տարածությանը։
Քերականություն՝ * ns|* *|*Օրինակ՝ * - կհամապատասխանի էջի բոլոր էլեմենտներին։

Սելեկտորներ՝ ըստ էլեմենտի տիպի
Այս հիմնական սելեկտորի միջոցով ընտրվում է այն էլեմենտը, որի նկատմամբ կկիրառվի կանոնը։
Քերականություն՝ էլեմենտ



Սելեկտորներ՝ ըստ class-ի
Այս հիմնական սելեկտորը ընտրում է էլեմենտները՝ նրանց class ատրիբուտի (հատկանիշի) արժեքի հիման վրա։
Քերականություն՝ ․class-ի անուն
Օրինակ՝ .index սելեկտորը ընտրում է այդ class-ին համապատասխանող բոլոր էլեմենտները (class="index")։

Սելեկտորներ՝ ըստ իդենտիֆիկացիայի
Այս հիմնական սելեկտորը ընտրում է էլեմենտները՝ հիմնվելով նրանց id ատրիբուտի (հատկանիշի) արժեքի վրա: Իդենտիֆիկատորը պետք է լինի եզակի, այսինքն՝ օգտագործվի HTML-փաստաթղթի միայն մեկ էլեմենտի համար։
Քերականություն՝ #իդենտիֆիկատորի անուն
Օրինակ՝ Սելեկտոր #toc-ը ընտրում է toc իդենտիֆիկատորով էլեմենտը (id="toc")։

Սելեկտորներ՝ ըստ ատրիբուտի
Այս սելեկտորը ընտրում է էլեմենտները, որոնք ունեն տվյալ ատրիբուտը կամ որոշակի արժեքով ատրիբուտ։
Քերականություն՝ [attr] [attr=value] [attr~=value] [attr|=value] [attr^=value] [attr$=value] [attr*=value]
Օրինակ 1՝ [autoplay] սելեկտորը ընտրում է բոլոր այն էլեմենտները, որոնք ունեն autoplay ատրիբուտը՝ անկախ այդ ատրիբուտի արժեքից։
Օրինակ 2՝ a[href$=".jpg"] ընտրում է այն բոլոր հղումները, որտեղ հասցեն ավարտվում է «.jpg»-ով։
Օրինակ 3՝ a[href^="https"] ընտրում է այն բոլոր հղումները, որտեղ հասցեն սկսվում է «https»-ով։
Օրինակ 4՝ [title~=flower] ընտրում է այն բոլոր էլեմենտները, որոնց title ատրիբուտը պարունակում է «flower» բառը։
Օրինակ 5՝ a[href*="w3schools"] ընտրում է այն բոլոր հղումները, որոնց href ատրիբուտի արժեքը պարունակում է «w3schools» ենթատողը։


Կոմբինատոր «,»
Կոմբինատոր «,»-ը խմբավորման միջոց է, որը ընտրում է բոլոր համապատասխանող հանգույցները։
Քերականություն՝ A, B
Օրինակ՝ div, span, վերցնում է երկու էլեմենտն էլ․ և՛

և ։

Կոմբինատոր « »
Կոմբինատոր « » (բացատ) ընտրում է այն էլեմենտները, որոնք գտնվում ենք նշված էլեմենտի ներսում (անկախ գտնվելու մակարդակից)։
Քերականություն՝ A B
Օրինակ՝ div span սելեկտորը ընտրում է այն բոլոր էլեմենտները, որոնք գտնվում են
էլեմենտի ներսում։

Դուստր սելեկտորներ
«>» կոմբինատորը ի տարբերություն բացատի ընտրում է միայն այն էլեմենտները, որոնք հանդիսանում են դուստր էլեմենտ նշված էլեմենտի համար (միայն նշված էլեմենտի ներսում լինելը բավարար պայման չէ)։
Քերականություն՝ A > B
Օրինակ՝ ul > li ընտրում է միայն
  • դուստր էլեմենտները, որոնք գտնվում են ul էլեմենտի ներսում, բայց ul-ը հանդիսանում է
  • էլեմենտի անմիաջապես ծնող էլեմենտը։

    Բոլոր հարևան էլեմենտների կոմբինատոր
    «~» ընտրում է այն էլեմենտները, որոնք գտնվում են նույն մակարդակում՝ նշված էլեմենտից հետո և ունեն նույն ծնողը։
    Քերականությունը՝ A ~ B
    Օրինակ՝ p ~ span ընտրում է բոլոր էլեմենտները, որոնք գտնվում են

    էլեմենտից հետո և գտնվում են միևնույն ծնողի ներսում։

    Հաջորդ հարևան էլեմենտի կոմբինատոր
    «+» կոմբինատորը ընտրում է այն էլեմենտը, որը ուղղակիորեն գտվում է նշված էլեմենտից հետո, եթե ունեն ընդհանուր ծնող։
    Քերականութուն՝ A + B
    Օրինակ՝ ul + li սելեկտորը ընտրում է ցանկացած

  • , որը ուղղակիորեն գտնվում է
      էլեմենտից հետո։


  • Տերմինաբանություն
    Get – URL Path+header
    Past – URL Path+header+body
    Put – URL Path+body

    Delete – URL Path -


    Docker



    Պատկերացնենք իրավիճակ, որ կոդը աշխատում է Development Environment-ում, բայց Testing Environment-ում՝ ոչ: Docker-ը գործիքամիջոց է, որը նախատեսված է լուծելու վերը նշված խնդիրները, այսինքն՝ երբ կոդը աշխատում է մի միջավայրում, իսկ մյուսում՝ ոչ։ SDLC-ում Docker-ը աշխատում է deployment-ի փուլում։ Այն, օգտագործելով container-ներ, դարձնում է App-ի development-ի ընթացքը հեշտ և արդյունավետ։ Container-ները հնարավորություն են տալիս Developer-ներին «փաթեթավորել» App-ը մեկ package-ի մեջ, իրեն անհրաժեշտ բոլոր մասերի հետ միասին (libraries, dependencies) և «անվտանգ ուղարկել» այնտեղ, որտեղ անհրաժեշտ է։


    Տերմինաբանություն
    docker ps – ցույց է տալիս container-ները։
    docker-compose build – տեղադրում է docker image-ները համակարգչում։
    docker images – ցույց է տալիս build-ից հետո հայտված image-ները։ Հնարավոր է հայտնվեն image-ներ, որոնք չեն օգտագործվում
    docker image prune – նախատեսված է վերը նշված չօգտագործվող image-ները ջնջելու համար։ Եթե ավելացնենք -a, ապա կջնջվեն բոլոր image-ները։
    docker image up -d – սկզբում ստուգում է image-ները։ Եթե անհրաժեշտ է որևէ մեկը, բայց չկա, ապա ավելացնում է և հետո up-է անում։ Նոր ավելացված imag-ների մոտ նշում է արվում։ Եթե կարգավիճակը (status) healthy է, ապա արդեն up-է։ Արդյունքում բոլորը պետք է լինեն healthy: -d-ն նախատեսված է log-երը ցույց չտալու համար։


    Jenkins



    Jenkins-ը Continuous Integration գործիքամիջոց է, որի միջոցով ավտոմատացվում է test-երի գործարկումը (run): Որևէ գործողությունից հետո ավտոմատ գործարկվում է Trigger-ների միջոցով։
    Այն դեպքում, երբ Git-ի master branch-ի վրա developer-ները commit են անում, Jenkins-ը վերցնում է code-ը Git-ից, build է անում, այնուհետև գործարկում test-երը։ Jenkins-ը տարբերում է, թե որն է test և որը՝ ոչ։ Եթե test-երը pass են կամ pass են որոշակի տոկոսով (թեստավորողը նշում է, թե քանի տոկոսով է pass), ապա deploy է անում environment-ի վրա։
    Test-երի pass կամ fail լինելու մասին ուղարվում է հաղորդագրություն թեստավորողի կողմից նշված mail-երին։



    Օգտակար հղումներ`

    Selenium as an automation testing tool article/eng
    Selenium locators article/eng
    Docker article/eng
    API testing article/eng
    Jenkins article/eng
    Automation testing video tutorial/eng
    Automation testing video tutorial/arm
    Automation testing video tutorial/rus
    Locators in Selenuim video tutorial/eng
    Xpath in Selenium video tutorial/eng
    Jenkins video tutorial/eng
    Docker video tutorial/eng

    Բովանդակություն