plone / plone.app.robotframework

Provides Robot Framework compatible resources and tools for writing functional Selenium tests (including acceptance tests) for Plone CMS and its add-ons.
https://docs.plone.org/external/plone.app.robotframework/docs/source/index.html
11 stars 17 forks source link

Wrong selector in `Open Menu` keyword #163

Open laulaz opened 1 month ago

laulaz commented 1 month ago

https://github.com/plone/plone.app.robotframework/blob/4015a63afd8c4dfa300422cc994d4992ef86c7bb/src/plone/app/robotframework/keywords.robot#L121-L124

This markup is no longer in sync with Plone 6 menu, where there is no div ancestor for ul.

This is the markup of plone-contentmenu-factories for example :

<div class="pat-toolbar initialized" id="edit-zone" role="toolbar" data-bs-scroll="true">
    ...
    <ul>
        <li class="plonetoolbar-contenttype dropend"
            id="plone-contentmenu-factories">

            <a class="nav-link dropdown-toggle show" 
               aria-expanded="true"$
               href="https://classic.demo.plone.org/en/folder_factories?_authenticator=3df290c2b5a2bdc2bff0851ba265fbf037d77b28"
               data-bs-offset="0,0"
               data-bs-toggle="dropdown"
               title="Add new items inside this item">
                <span class="toolbar-label">Add new… </span>
            </a>

            <ul class="dropdown-menu show"
                style="position: absolute; inset: 0px auto auto 0px; margin: 0px; transform: translate3d(220px, -225px, 0px);"
                data-popper-placement="right-start">
                <li>
                    <h6 class="dropdown-header">
                        Add new…
                    </h6>
                </li>
                ...
                <li>
                    <a class="nav-link dropdown-item contenttype-collection"
                       href="https://classic.demo.plone.org/en/++add++Collection"
                       title=""
                       id="collection">
                     Collection
                    </a>
                </li>
                ...
            </ul>

        </li>
        ...
    </ul>
</div>