Refactor the debug window hierarchy section (#12471)

Various parts of the hierarchy section are split out to separate classes
to permit reusing some of them in other parts of the debug window.

Change-Id: I32ed562bc9d95df2d3c899d9a17a60d45aa703fd
Preserve open nodes in debug window hierarchy over refresh (#12472)

Change-Id: Ib64f40db6e5568e236db410b0ad0ec2960be37f7
Add TestBenchSection for the debug window (#12445)

Change-Id: I552885348368f497b8b572614301127fe0460d26
Added a target to publish to local Maven repository.

Change-Id: Ifa1f6b12c1ce9f6d65f707673d3a20e31857064f
Allow different locator strategies #12485

Refactored the ComponentLocator class to allow for implementing
different locator strategies.

Change-Id: I93f3decbce4d4361cc605bcf0ce4379a187c482c
Implemented the extensions to ComponentLocator needed for TB4 #12485

Change-Id: I8c7db91967003290bbff4e703235aa36d5e9e1f3
Implemented SubPartAware in VScrollTable #12514

This allows for "//VScrollTable#row[n]/col[m]" -style locator strings.

Change-Id: I65bea31ab0eaa59fcd5a566ea3d1a43465ef298f
Merge branch '7.1' into testbench4

Change-Id: Id93edf5895131bb13d1be792d0914ace399e713c
Add simple calculator test application (#12444)

Change-Id: Ie2880c9321f46a004e53ca0fa08aa43f840e6a5d
Support mixed legacy and VaadinFinder locators (#12641, #12642, #12643)

ComponentLocator tries to use all available locator strategies until a
match is found (#12641) and VaadinFinderLocatorStrategy also accepts
simple indexed paths (#12642) with legacy locators as a backup. To
enable mixed use of locators, LegacyLocatorStrategy now implements
getElementByPathStartingAt() (#12643).

Change-Id: I6b763565adef0e294b353ef6e2dfdf70ae0d77a9
Accept "=" in caption/id strings (#12737)

Change-Id: I220fe86bcbfbf1c7188d7da78bb0ee446a5df7c2
Merge remote-tracking branch 'origin/7.1' into testbench4

Change-Id: I58fe3b4126b61ec342ee06c18ce49a7fa7d4fd3d
Generate correct selectors in debug window for TestBench 4 (#12694)

Selectors use IDs, captions, indices of the widget type in parent and
then as a fallback domChild/XPath paths to support sub-part selection
and highlighting as well as other elements without subpart information.

Change-Id: I1ce30a9eb4a96ef0387635ae7464db7e9bd6f542
Improve Calculator test application (#12744)

Change-Id: Ib65ade5ecc589717e68e34b7469b5bae3c58786d
Merge remote-tracking branch 'origin/7.1' into testbench4

Change-Id: Ib0d22bb186bc17ddca2e6dbf09eda7c0d19b88c4
Produce TB4 style selectors in debug window (#12694)

Change-Id: Ie2e5cc48c493d065221a30fa6d2058f7a61f0274
Fix TB3 style selectors (#12902, #12904)

Change-Id: Ia1ad464b6890248e700ed2dbea03746671210eee
Merge remote-tracking branch 'origin/7.1' into testbench4

Change-Id: If596876f0a17c471dc7db6b6eea25ed1c3b87fb1
Make component predicate matches exact (#12913)

Change-Id: Ia9a938977437a2188a6f5b207789058abce62965
Support special characters in quotes in locators (#12738). 

Change-Id: I5674bfdab3a5ff3ff9799178bbf9e187fa7ea544