Montag, Juni 1, 2020

Selen – Suche für die Beispiele der Konvertierung von xpath-Locator-Punkte auf css

Habe ich eine Tonne von tests geschrieben, in xpath, ich muss in css konvertieren.

Möchte ich nicht verwenden, ein Automatisierungs-tool, wie ich will die Gelegenheit nutzen, zu lernen, die Art und Weise, Dinge zu tun, mit der css-Ansatz in Selen.

Wo finde ich Beispiele von „vorher“ und „nachher“ beim Wechsel von xpath, css für die Locator-Punkte

InformationsquelleAutor Michael Durrant | 2013-05-02

2 Kommentare

  1. 1

    Hier sind 30 Beispiele von ‚vor‘ und ’nach‘ xpath, css:

    Beachten Sie, dass css auch verwendet 0-basierte Positionierung und verwendet xpath 1, in:

    Beispiel:

    xpath=(//li[contains(@id,'topic_roles_input')]//input[@type="checkbox"])[1]
    css=li#topic_roles_input input[type=checkbox]:nth(0)

    Liste:

    //ul[contains(@id,'district-switcher')]//li/ul/li[4]/a
    css=ul#district-switcher li > ul > li:nth(3) > a
    
    //ul[contains(@id,'district-switcher')]//a[contains(text(),'District Management Council')]
    css=ul#district-switcher a:contains('District Management Council')
    
    //ul[contains(@id,'district-switcher')]//a[contains(text(),'${QA_run_number}')]
    css=ul#district-switcher a:contains('${QA_run_number}')
    
    //h3[contains(@id,'active-district')]
    css=h3#active-district
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Calendar')]
    css=ul.home-menu a:contains("Calendar")
    
    //tr[1]//td[contains(@class,'starts_on')]
    css=tr td.starts_on
    
    //tr[1]//td[contains(@class,'ends_on')]
    css=tr td.ends_on
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Schools')]
    css=ul.home-menu a:contains('Schools')
    
    //table[contains(@id, 'schools')]//tbody//tr//td/a
    css=table#schools tbody tr td a
    
    //a[contains(text(),'6DAYERS')]
    css=a:contains('6DAYERS')
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Students')]
    css=ul.home-menu a:contains(Students)
    
    //body//td[contains(text(),'QA-001')]
    css=td:contains('QA-001')
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Roles')]
    css=ul.home-menu a:contains(Roles)
    
    //table//tr//td[contains(text(),"Language Therapist")]
    css=table tr td:contains(LanguageTherapist)
    
    //table//tr//td[contains(text(),"Speech Therapist")]
    css=table tr td:contains(Speech Therapist )
    
    //table//tr//td[contains(text(),"DELETE_ME")]
    css=table tr td:contains(DELETE_ME)
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Activities')]
    css=ul.home-menu a:contains(activities)
    
    xpath=(//li[contains(@id,'activity_roles_input')]//input[@type="checkbox"][1])
    css=li#activity_roles_input input[@type="checkbox"]:nth(0)
    
    //table[contains(@id,'activities')]//tr//td[contains(text(),"Activity001")]
    css=table#activities tr td:contains("Activity001")
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Practitioners')]
    css=ul.home-menu a:contains(Practitioners)
    
    //table//tr//td[contains(text(),'mdurrant+${QA_run_number}[email protected]')]
    css=table tr td:contains(mdurrant+${QA_run_number}[email protected])
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Topics')]
    css=ul.home-menu a:contains(Topics)
    
    xpath=(//li[contains(@id,'topic_roles_input')]//input[@type="checkbox"])[1]
    css=li#topic_roles_input input[type=checkbox]:nth(0)
    
    //a[contains(text(),'Topic001')]
    link=Topic001
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Settings')]
    link=Settings
    
    //ul[contains(@class,'home-menu')]//a[contains(text(),'Settings')]
    css=ul.home-menu a:contains(Settings)
    
    xpath=(//li[contains(@id,'setting_roles_input')]//input[@type="checkbox"])[1]
    css=li#setting_roles_input input[type=checkbox]:nth(0)
    
    xpath=(//table/tbody/tr//td/a[contains(@class,'delete_link')])
    table > tbody > tr td > a.delete_link
    
    //td[contains(text(),'Setting001')]
    css=td:contains('setting001')
    
    //a[contains(text(),'Practitioners')]
    css=a:contains(Practitioners)
    
    //tr[td[contains(.,'6 Day')]][1]/td[8]/[email protected]
    tr td:contains('6 Day'):nth(0) + td + td a[href]
    FYI, es gibt keine solche CSS-Selektor als :contains(). Es war ein früher Vorschlag, die abgeworfen wurde, vor Jahren. Es funktioniert nicht in Selen.
    hmmm, es funktioniert beim ausführen der tests in der IDE firefox
    Einige software implementiert :contains() trotz es wurde fallengelassen aus der CSS-spec. Selenium IDE können, aber Selen 2 (WebDriver) und Selenium RC nicht.
    hmmm, ich habe gelesen, dass „die css2-Funktion enthält, ist nicht in css3, aber Selen unterstützt die Obermenge von css 1, 2 und 3.“ Sind Sie sicher, dass die Unterstützung ist nur in der IDE?
    NÖ, du hast falsch gehört. Die :contains() – Auswahl war nie Teil von CSS2. Es wurde vorgeschlagen, CSS3, aber der wurde entfernt, bevor die 2005 last-call working draft.

    InformationsquelleAutor Michael Durrant

Kostenlose Online-Tests