SlideShare a Scribd company logo
Как находить ненаходимое:
возможности CSS и Xpath локаторов
Вадим Зубович
О себе
Вадим Зубович
Активист COMAQA
www.comaqa.by
Синтаксис CSS-селекторов
div[name=‘login’][class=‘main’]>div[class=‘main’]>…
div div[class=‘main’] .main
div[id=‘focus’] div#focus
.big.content
CSS-селекторы, combining selectors
snake[type=‘boa_constrictor’]>elephant
CSS-селекторы, id
#little_prince[name=‘earth’]>
CSS-селекторы несколько нод
#little_prince,rose
CSS-селекторы несколько нод
[name=‘b612’]>#little_prince,[name=‘b612]>rose
CSS-селекторы несколько нод
[name=‘b612’]>#little_prince,rose[windscreen]
CSS-селекторы siblings
#little_prince+bird #little_prince~bird
CSS-селекторы pseudo-classes
bird:first-child
CSS-селекторы pseudo-classes
bird:last-child space>bird:last-child
CSS-селекторы pseudo-classes
space>bird:nth-child(2) space>bird:nth-last-child(4)
CSS-селекторы pseudo-classes
rose:only-of-type
CSS-селекторы pseudo-classes
table>bottle:not([position])
Синтаксис XPath-локаторов
div[@name=‘login’][@class=‘main’] /div[@class=‘main’]//…//.
div[@name=‘login’ and @class=‘main’] /div[text()=‘main’]//…//.
div[@name=‘login’ and @class=‘main’] /preceding-sibling::div//…//.
Xpath-локаторы
//table/bottle[position!=‘standing’] //table/bottle[not(@position)]
Xpath-локаторы несколько нод
//*[@id=‘little_prince’]|rose
Xpath-локаторы Xslt-functions
//*[starts-with(@formula,‘a/2’)]
//*[contains(@formula,‘2=b’)]
//*[ends-with(@formula,‘b/4’)]
Xpath-локаторы Xslt-functions
//*[contains(text(),‘2=b’)]
//*[starts-with(text(),‘a/2’)]
//*[ends-with(text(),‘b/4’)]
Xpath-локаторы Axis
//ram/preceding-sibling::sheep
//ram/following-sibling::sheep
Xpath-локаторы Axis
//*[@id=‘little_prince’]/ancestor::stone
//*[@id=‘little_prince’]/preceding::stone
//*[@id=‘little_prince’]/parent::wall //*[@id=‘little_prince’]/..
Общие рекомендации
Используйте минимально возможное количество параметров
Избегайте сложной иерархии
Избегайте использования индексов
Избегайте поиска по тексту
Ищите уникальные атрибуты или их сочетания
ВСЕГДА проверяйте свои локаторы в браузере
Спасибо за внимание
Вадим Зубович
www.comaqa.by
Skype: dpi.zubovich
https://github.com/Fulcrum81

More Related Content

PDF
Артем Маркушев - HTML & CSS
PDF
Артем Кувалдин: Основы HTML
PDF
Backend: Пишем на Scala для браузера
PDF
Write code for browsers with Scala
PDF
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
PDF
Написание DSL в Perl
PDF
php sessions
PPTX
Caching on highload Drupal site - Alexander Shumenko
Артем Маркушев - HTML & CSS
Артем Кувалдин: Основы HTML
Backend: Пишем на Scala для браузера
Write code for browsers with Scala
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Написание DSL в Perl
php sessions
Caching on highload Drupal site - Alexander Shumenko

Viewers also liked (9)

PPTX
Out of box page object design pattern, java
PPTX
От хаоса к автоматизации тестирования на примере Backend
PDF
Основы языка R
PDF
Karataev_et_al._2003_Conchophthirus_emergenece.PDF
PPTX
ScreenPlay Design Patterns for QA Automation
PPT
Page object with selenide
PPTX
карта IT профессий
PPTX
How does Java 8 exert hidden power on Test Automation?
PPTX
тестовые стратегии
Out of box page object design pattern, java
От хаоса к автоматизации тестирования на примере Backend
Основы языка R
Karataev_et_al._2003_Conchophthirus_emergenece.PDF
ScreenPlay Design Patterns for QA Automation
Page object with selenide
карта IT профессий
How does Java 8 exert hidden power on Test Automation?
тестовые стратегии
Ad

More from COMAQA.BY (20)

PDF
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
PPTX
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
PPTX
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
PPTX
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
PPTX
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
PPTX
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
PPTX
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
PPTX
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
PPTX
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
PPTX
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
PPTX
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
PPTX
Моя роль в конфликте
PPTX
Организация приемочного тестирования силами матерых тестировщиков
PPTX
Развитие или смерть
PPTX
Системный взгляд на параллельный запуск Selenium тестов
PPTX
Эффективная работа с рутинными задачами
PPTX
Как стать синьором
PPTX
Open your mind for OpenSource
PPTX
JDI 2.0. Not only UI testing
PPTX
Out of box page object design pattern, java
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Моя роль в конфликте
Организация приемочного тестирования силами матерых тестировщиков
Развитие или смерть
Системный взгляд на параллельный запуск Selenium тестов
Эффективная работа с рутинными задачами
Как стать синьором
Open your mind for OpenSource
JDI 2.0. Not only UI testing
Out of box page object design pattern, java
Ad

Advanced locators - little prince