QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks

Q
XPath yourself
Tip’s & Trick’s
About me
Role: QA Automation
Engineer,
Scrum Master
Company: Ciklum, Betsson
Group
skype: pashko.ivan
email:
pashko.ivan@gmail.com
XPath
● .. это язык запросов к элементам XML-документа
● .. призван реализовать навигацию по DOM в XML
● .. является стандартом консорциума W3C
● .. популярный “локатор” автоматизации UI
(c) Wiki
XPath. Синтаксис
XPath делится на “шаги”, которые разделяются символом /. Каждый “шаг”
состоит из трех частей:
axis::node[predicate] / axis::node[predicate] / axis::node[predicate]
axis (ось, обязательная часть)
node (узел, обязательная часть)
predicates (предикат, дополнительное условие, необязательная
часть)
XPath. Оси (axis)
Оси — это база языка XPath. Они
определяет множество елементов
относительно текущего.
axis::nodetest[predicate]
● parent:: | child::
● following:: | preceding:: (-sibling)
● ancestor:: | descendant:: (-or-self)
http://docstore.mik.ua/orelly/xml/jxslt/figs/jxt_0204.gif
XPath. Оси
//div[@class=’self’]/parent::div //div[@class=’self’]/preceding::div
//div[@class=’self’]/child::div //div[@class=’self’]/following::div
<div class=’parent’>
<div class='preceding'/>
<div class='self'>
<div class='child'/>
</div>
<div class='following'></div>
</div>
</div>
ancestors
descendant
/child::html/descendant-or-self::node()/child::body/*[position() = 1]
XPath. Оси. Полная форма
/html//body/*[1]
XPath. Оси. Сокращенная форма
XPath. Оси. Сокращения
// ~ /descendant-or-self::
@abc ~ attribute::abc
node ~ child::node
.. ~ parent::
. ~ self::
XPath. Оси. Относительный путь
//div[@class=’self’]/../../../div
<body>
<div value=’xpath me’>
<div>
<div class='self'/>
</div>
</div>
</body>
XPath. Оси. Относительный путь
//div[@class=’self’]/ancestor::body/div
<body>
<div value=’xpath me’>
<div>
<div class='self'/>
</div>
</div>
</body>
XPath. Оси. Относительный путь
//div[@class=’self’]/ancestor::div[2]
<div>
<div value=’xpath me’>
<div>
<div class='self'/>
</div>
</div>
</div>
.//div
<ul>
<li>
<div>FIRST</div>
</li>
</ul>
XPath. Оси. Абсолютный путь
.//div
<ul>
<li>
<div>FIRST</div>
<div>SECOND</div>
</li>
</ul>
XPath. Оси. Абсолютный путь
.//div → .//div[1]
<ul>
<li>
<div>FIRST</div>
<div>SECOND</div>
</li>
</ul>
XPath. Оси. Абсолютный путь
.//div
<ul>
<li>
<div>FIRST</div>
</li>
<li>
<div>SECOND</div>
</li>
</ul>
XPath. Оси. Абсолютный путь
.//div[1]
<ul>
<li>
<div>FIRST</div>
</li>
<li>
<div>SECOND</div>
</li>
</ul>
XPath. Оси. Абсолютный путь
.//div[1] == ./descendant-or-self::node()/div[position()=1]
./ где угодоно, среди потомков / первый div наследник
<ul>
<li>
<div>FIRST</div>
</li>
<li>
<div>SECOND</div>
</li>
</ul>
XPath. Оси. Абсолютный путь
.//div[1] → ./descendant::div[1]
./ первый div потомок
<ul>
<li>
<div>FIRST</div>
</li>
<li>
<div>SECOND</div>
</li>
</ul>
XPath. Оси. Абсолютный путь
.//div[1] → (.//div)[1]
(первый .//div из группы)
<ul>
<li>
<div>FIRST</div>
</li>
<li>
<div>SECOND</div>
</li>
</ul>
XPath. Оси. Абсолютный путь
XPath. Предикаты
P: X→ {true, false}
Неформально, предикат это выражение, которое возвращает значение
булевого типа (истина или ложь) в зависимости от входящих параметров.
Предикаты в Xpath используются для фильтрации.
В качестве параметров, могут быть использованы функции: position(),
name(), count(), contains(), . = и т.д.
XPath. Функции. position()
.//div[1]
.//div[position()=1]
<ul>
<li>
<div>FIRST NODE</div>
<div>SECOND NODE</div>
</li>
</ul>
XPath. Функции. text() .=
.//div[text()=’FIRST NODE’]
.//div[.=’FIRST NODE’] --inner html
<ul>
<li>
<div>FIRST NODE</div>
<div>SECOND NODE</div>
</li>
</ul>
XPath. Функции. contains()
.//div[ contains(text(), ’NODE’) ]
.//div[ contains(., ’NODE’) ]
<ul>
<li>
<div>FIRST NODE</div>
<div>SECOND NODE</div>
</li>
</ul>
XPath. Функции. contains()
.//div[ contains(@class, ’NODE’) ]
<ul>
<li>
<div class=’FIRST NODE’</div>
<div>SECOND NODE</div>
</li>
</ul>
XPath. Функции. not()
.//div[ not(@class) ]
<ul>
<li>
<div class=’FIRST NODE’</div>
<div>SECOND NODE</div>
</li>
</ul>
XPath. Функции. last()
.//div[ last() ]
<ul>
<li>
<div class=’FIRST NODE’</div>
<div>SECOND NODE</div>
<div>last node</div>
</li>
</ul>
XPath. Функции. last()
.//div[ last() - 1]
<ul>
<li>
<div class=’FIRST NODE’</div>
<div>SECOND NODE</div>
<div>last node</div>
</li>
</ul>
XPath. Фильтры. Мульти-фильтры.
При множественной фильтрации удобно использовать
последовательную форму:
div[..a..][..b..][..c..] == div[ (..a..) and (..b..) and (..c..) ]
!Но, не для функций : position(), last()
//div[1][@class] != //div[@class][1]
XPath. Порядок фильтрации
//div[1][@class]
<div>
<div > </div>
<div class='c11'></div>
<div class='c12'></div>
</div>
<div>
<div class='c21'></div>
<div class='c22'></div>
</div>
XPath. Порядок фильтрации
(//div[1])[@class]
<div>
<div > </div>
<div class='c11'></div>
<div class='c12'></div>
</div>
<div>
<div class='c21'></div>
<div class='c22'></div>
</div>
XPath. Порядок фильтрации
//div[@class][1]
<div>
<div> </div>
<div class='c11'></div>
<div class='c12'></div>
</div>
<div>
<div class='c21'></div>
<div class='c22'></div>
</div>
XPath. Порядок фильтрации
(//div[@class])[1]
<div>
<div> </div>
<div class='c11'></div>
<div class='c12'></div>
</div>
<div>
<div class='c21'></div>
<div class='c22'></div>
</div>
Комбинируем все вместе
XPath. Таблицы
Получить все Last Name из таблицы:
//tr/td[2]
<table>
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>NAME-1</td>
<td>LASTNAME-1</td>
</tr>
<tr>
<td>NAME-2</td>
<td>LASTNAME-2</td>
</tr>
</tbody>
</table>
XPath. Таблицы
Получить все Last Name из таблицы:
//tr/td[2]
<table>
<thead>
<tr>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>NAME-1</td>
<td>M-NAME-1</td>
<td>LASTNAME-1</td>
</tr>
<tr>
<td>NAME-2</td>
<td>M-NAME-2</td>
<td>LASTNAME-2</td>
</tr>
</tbody>
</table>
XPath. Таблицы.
//tr/td[ index_of (//th(.=’Last Name’)) ]
К сожалению, index_of не существует, но :
index_of == count()
<table>
<thead>
<tr>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>NAME-1</td>
<td>M-NAME-1</td>
<td>LASTNAME-1</td>
</tr>
<tr>
<td>NAME-2</td>
<td>M-NAME-2</td>
<td>LASTNAME-2</td>
</tr>
</tbody>
</table>
XPath. Таблицы.
a = //thead/tr/th[.='Last Name'] /
preceding-sibling::th
//tr/td[count(a) + 1]
но, +1 не учитывает сам елемент
<th>Last Name</th>
<table>
<thead>
<tr>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>NAME-1</td>
<td>M-NAME-1</td>
<td>LASTNAME-1</td>
</tr>
<tr>
<td>NAME-2</td>
<td>M-NAME-2</td>
<td>LASTNAME-2</td>
</tr>
</tbody>
</table>
XPath. Таблицы.
a = //thead/tr/th[.='Last Name'] /
preceding-sibling::th
+
b = //thead/tr/th[.='Last Name']
count(a) + count(b)
<table>
<thead>
<tr>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>NAME-1</td>
<td>M-NAME-1</td>
<td>LASTNAME-1</td>
</tr>
<tr>
<td>NAME-2</td>
<td>M-NAME-2</td>
<td>LASTNAME-2</td>
</tr>
</tbody>
</table>
XPath. Таблицы.
tr/th[
count( //thead/tr/th[.='Last Name']/
preceding-sibling::th )
+ count( //thead/tr/th[.='Last Name'] )
<table>
<thead>
<tr>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>NAME-1</td>
<td>M-NAME-1</td>
<td>LASTNAME-1</td>
</tr>
<tr>
<td>NAME-2</td>
<td>M-NAME-2</td>
<td>LASTNAME-2</td>
</tr>
</tbody>
</table>
XPath. Таблицы.
tr/th[
count( //thead/tr/th[.='Last Name']/
preceding-sibling::th )
+ count( //thead/tr/th[.='Last Name'] )
<table>
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>NAME-1</td>
<td>LASTNAME-1</td>
</tr>
<tr>
<td>NAME-2</td>
<td>LASTNAME-2</td>
</tr>
</tbody>
</table>
Спасибо за внимание!
Q & A
◦ Xpath basics (W3C) -
http://www.w3schools.com/xpath
/default.asp
◦ Xpath basics(Microsoft) -
https://msdn.microsoft.com/en-
us/library/ms256115(v=vs.110).as
px
◦ Xpath functions -
http://www.w3schools.com/xpath
/xpath_functions.asp
◦ Examples -
http://www.xmlplease.com/axis
http://www.imagesbuddy.com/images/109/2013/12/bored-people-graphic.jpg
Thank you!
1 of 44

Recommended

XPath локаторы в Selenium WebDriver by
XPath локаторы в Selenium WebDriverXPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverИлья Кожухов
43.1K views57 slides
Selenium: начало работы by
Selenium: начало работыSelenium: начало работы
Selenium: начало работыPaul Stashevsky
9.5K views25 slides
Alexander manuhin selenium_php_v2.0 by
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0matroskin1980
4.4K views30 slides
Как не утонуть в мегабайтах JS-кода by
Как не утонуть в мегабайтах JS-кодаКак не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кодаtfmailru
317 views30 slides
2014 Jeeconf - Geb Spock by
2014 Jeeconf - Geb Spock2014 Jeeconf - Geb Spock
2014 Jeeconf - Geb SpockBohdan Danyliuk
2.1K views78 slides
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai... by
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mai...tfmailru
924 views27 slides

More Related Content

What's hot

Java весна 2013 лекция 8 by
Java весна 2013 лекция 8Java весна 2013 лекция 8
Java весна 2013 лекция 8Technopark
430 views38 slides
Android - 02 - annotations, exceptions, io, generics by
Android - 02 - annotations, exceptions, io, genericsAndroid - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, genericsNoveo
492 views38 slides
12 - Java. Разработка сетевых приложений на Java by
12 - Java. Разработка сетевых приложений на Java12 - Java. Разработка сетевых приложений на Java
12 - Java. Разработка сетевых приложений на JavaRoman Brovko
636 views20 slides
Selenium vs AJAX by
Selenium vs AJAXSelenium vs AJAX
Selenium vs AJAXAlexei Barantsev
5.8K views53 slides
10 - Java. Многопоточность в Java: основы by
10 - Java. Многопоточность в Java: основы10 - Java. Многопоточность в Java: основы
10 - Java. Многопоточность в Java: основыRoman Brovko
667 views25 slides
JavaScript Базовый. Занятие 07. by
JavaScript Базовый. Занятие 07.JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.Igor Shkulipa
193 views34 slides

What's hot(20)

Java весна 2013 лекция 8 by Technopark
Java весна 2013 лекция 8Java весна 2013 лекция 8
Java весна 2013 лекция 8
Technopark430 views
Android - 02 - annotations, exceptions, io, generics by Noveo
Android - 02 - annotations, exceptions, io, genericsAndroid - 02 - annotations, exceptions, io, generics
Android - 02 - annotations, exceptions, io, generics
Noveo492 views
12 - Java. Разработка сетевых приложений на Java by Roman Brovko
12 - Java. Разработка сетевых приложений на Java12 - Java. Разработка сетевых приложений на Java
12 - Java. Разработка сетевых приложений на Java
Roman Brovko636 views
10 - Java. Многопоточность в Java: основы by Roman Brovko
10 - Java. Многопоточность в Java: основы10 - Java. Многопоточность в Java: основы
10 - Java. Многопоточность в Java: основы
Roman Brovko667 views
JavaScript Базовый. Занятие 07. by Igor Shkulipa
JavaScript Базовый. Занятие 07.JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.
Igor Shkulipa193 views
Александр Щепановский «Почему каждому языку нужен свой _» by DevDay
Александр Щепановский «Почему каждому языку нужен свой _»Александр Щепановский «Почему каждому языку нужен свой _»
Александр Щепановский «Почему каждому языку нужен свой _»
DevDay410 views
Школа-студия разработки для iOS. Лекция 4. Работа с данными by Глеб Тарасов
Школа-студия разработки для iOS. Лекция 4. Работа с даннымиШкола-студия разработки для iOS. Лекция 4. Работа с данными
Школа-студия разработки для iOS. Лекция 4. Работа с данными
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть" by Yandex
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
Алексей Андросов "Яндекс.Почта: архитектура фронтенда как она есть"
Yandex918 views
Android - 01 - Java Basics by Noveo
Android - 01 - Java BasicsAndroid - 01 - Java Basics
Android - 01 - Java Basics
Noveo732 views
Тестирование Web API by Byndyusoft
Тестирование Web APIТестирование Web API
Тестирование Web API
Byndyusoft371 views
Эффективное программирование на NodeJS by Yura Bogdanov
Эффективное программирование на NodeJSЭффективное программирование на NodeJS
Эффективное программирование на NodeJS
Yura Bogdanov5.6K views
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG by Andrey Rebrov
вебинар - функциональное тестирование с использованием Selenium 2 и TestNGвебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
Andrey Rebrov1.3K views
RDSDataSource: Promises by RAMBLER&Co
RDSDataSource: PromisesRDSDataSource: Promises
RDSDataSource: Promises
RAMBLER&Co411 views
Инструментируй это by Roman Dvornov
Инструментируй этоИнструментируй это
Инструментируй это
Roman Dvornov2K views
05 - Java. Collections Framework и Generics by Roman Brovko
05 - Java. Collections Framework и Generics05 - Java. Collections Framework и Generics
05 - Java. Collections Framework и Generics
Roman Brovko520 views

Similar to QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks

Jsfwdays 2013-2 by
Jsfwdays 2013-2Jsfwdays 2013-2
Jsfwdays 2013-2Pavlo Iuriichuk
557 views25 slides
Типичный стек технологий для использования с Node.js by
Типичный стек технологий для использования с Node.jsТипичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.jsSerge Shirokov
2.6K views31 slides
Укрощение XML by
Укрощение XMLУкрощение XML
Укрощение XMLDmitriy Shabanov
940 views44 slides
Scala and LiftWeb presentation (Russian) by
Scala and LiftWeb presentation (Russian)Scala and LiftWeb presentation (Russian)
Scala and LiftWeb presentation (Russian)Dmitry Stropalov
965 views32 slides
Систематизация экспрешнов в IE by
Систематизация экспрешнов в IEСистематизация экспрешнов в IE
Систематизация экспрешнов в IERoman Komarov
319 views15 slides
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013) by
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)ScalaNsk
1K views78 slides

Similar to QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks(20)

Типичный стек технологий для использования с Node.js by Serge Shirokov
Типичный стек технологий для использования с Node.jsТипичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.js
Serge Shirokov2.6K views
Scala and LiftWeb presentation (Russian) by Dmitry Stropalov
Scala and LiftWeb presentation (Russian)Scala and LiftWeb presentation (Russian)
Scala and LiftWeb presentation (Russian)
Dmitry Stropalov965 views
Систематизация экспрешнов в IE by Roman Komarov
Систематизация экспрешнов в IEСистематизация экспрешнов в IE
Систематизация экспрешнов в IE
Roman Komarov319 views
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013) by ScalaNsk
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)
ScalaNsk1K views
Msu.Center.Lectures.J07 Advanced Xml by olegol
Msu.Center.Lectures.J07 Advanced XmlMsu.Center.Lectures.J07 Advanced Xml
Msu.Center.Lectures.J07 Advanced Xml
olegol213 views
Rich UI on Dojo Toolkit and Zend Framework by Georgy Turevich
Rich UI on Dojo Toolkit and Zend FrameworkRich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend Framework
Georgy Turevich1.1K views
Webuibasics - Lesson 2 - HTML5 Layouts (in russian) by xasima
Webuibasics - Lesson 2 - HTML5 Layouts (in russian)Webuibasics - Lesson 2 - HTML5 Layouts (in russian)
Webuibasics - Lesson 2 - HTML5 Layouts (in russian)
xasima391 views
XML Native Database на примере SednaXML by Slach
XML Native Database на примере SednaXMLXML Native Database на примере SednaXML
XML Native Database на примере SednaXML
Slach1.3K views
SPA инструменты by Roman Dvornov
SPA инструментыSPA инструменты
SPA инструменты
Roman Dvornov1.8K views
Инсталляционные профили, создание сборок by Andrii Podanenko
Инсталляционные профили, создание сборокИнсталляционные профили, создание сборок
Инсталляционные профили, создание сборок
Andrii Podanenko1.4K views
C++ STL & Qt. Занятие 06. by Igor Shkulipa
C++ STL & Qt. Занятие 06.C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.
Igor Shkulipa417 views

More from QAFest

QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин by
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQAFest
979 views44 slides
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future by
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQAFest
931 views44 slides
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe... by
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QAFest
322 views131 slides
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и... by
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QAFest
336 views92 slides
QA Fest 2019. Никита Галкин. Как зарабатывать больше by
QA Fest 2019. Никита Галкин. Как зарабатывать большеQA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать большеQAFest
389 views40 slides
QA Fest 2019. Сергей Пирогов. Why everything is spoiled by
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQAFest
342 views33 slides

More from QAFest(20)

QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин by QAFest
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QAFest979 views
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future by QAFest
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QAFest931 views
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe... by QAFest
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QAFest322 views
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и... by QAFest
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QAFest336 views
QA Fest 2019. Никита Галкин. Как зарабатывать больше by QAFest
QA Fest 2019. Никита Галкин. Как зарабатывать большеQA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QAFest389 views
QA Fest 2019. Сергей Пирогов. Why everything is spoiled by QAFest
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QAFest342 views
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием by QAFest
QA Fest 2019. Сергей Новик. Между мотивацией и выгораниемQA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QAFest249 views
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н... by QAFest
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QAFest338 views
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV... by QAFest
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QAFest227 views
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster by QAFest
QA Fest 2019. Иван Крутов. Bulletproof Selenium ClusterQA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QAFest282 views
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе... by QAFest
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QAFest251 views
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз... by QAFest
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QAFest301 views
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation by QAFest
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automationQA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QAFest225 views
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в... by QAFest
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QAFest243 views
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa... by QAFest
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QAFest376 views
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT by QAFest
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QAFest209 views
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении by QAFest
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QAFest607 views
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр... by QAFest
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QAFest321 views
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр... by QAFest
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QAFest296 views
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22 by QAFest
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QAFest164 views

QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks