RobotFramework: как получить информацию, используя «следующего брата» - PullRequest
0 голосов
/ 05 октября 2018

Я хочу восстановить значение статуса учетной записи «RF-Account», как показано на рисунке.enter image description here Для этого я нацеливаю xpath на получение значения справа от него с помощью этого кода в RobotFramework:
${initialStatus}= Get Value //td[text()='${testAccount}']/following-sibling::span[@style=""]

Вот HTML-кодинформация для извлечения:
<span class="text-bold ng-binding text-green" ng-class="{'text-green' : tenant.status == 'ACTIVE', 'text-muted' : tenant.status == 'INACTIVE'}" style="">ACTIVE</span>

И фрагмент HTML, содержащий всю таблицу:

<tbody ng-if="!isEmpty" class="body-table ng-scope" style="height: 193px;">
        <!-- ngRepeat: tenant in tenants track by $index --><tr ng-repeat="tenant in tenants track by $index" class="ng-scope" style="">
            <td class="ng-binding">RF-Accoun</td>
            <td>
                <span class="text-bold ng-binding text-green" ng-class="{'text-green' : tenant.status == 'ACTIVE', 'text-muted' : tenant.status == 'INACTIVE'}">ACTIVE</span>
            </td>
            <td style="width:118px">
                <div class="pull-right">
                    <a name="editBtn" type="submit" class="btn-icon" ng-click="openCreateEditModal(tenant)">
                        <span class="icon-i-edit fs"></span>
                    </a>
                    <a name="deleteBtn" type="submit" class="btn-icon" ng-click="deleteTenant(tenant)">
                        <span class="icon-i-trash fs"></span>
                    </a>
                </div>
            </td>
        </tr><!-- end ngRepeat: tenant in tenants track by $index --><tr ng-repeat="tenant in tenants track by $index" class="ng-scope">
            <td class="ng-binding">RF-Account</td>
            <td>
                <span class="text-bold ng-binding text-green" ng-class="{'text-green' : tenant.status == 'ACTIVE', 'text-muted' : tenant.status == 'INACTIVE'}">ACTIVE</span>
            </td>
            <td style="width:118px">
                <div class="pull-right">
                    <a name="editBtn" type="submit" class="btn-icon" ng-click="openCreateEditModal(tenant)">
                        <span class="icon-i-edit fs"></span>
                    </a>
                    <a name="deleteBtn" type="submit" class="btn-icon" ng-click="deleteTenant(tenant)">
                        <span class="icon-i-trash fs"></span>
                    </a>
                </div>
            </td>
        </tr><!-- end ngRepeat: tenant in tenants track by $index --><tr ng-repeat="tenant in tenants track by $index" class="ng-scope">
            <td class="ng-binding">RF-Account-bis</td>
            <td>
                <span class="text-bold ng-binding text-green" ng-class="{'text-green' : tenant.status == 'ACTIVE', 'text-muted' : tenant.status == 'INACTIVE'}">ACTIVE</span>
            </td>
            <td style="width:118px">
                <div class="pull-right">
                    <a name="editBtn" type="submit" class="btn-icon" ng-click="openCreateEditModal(tenant)">
                        <span class="icon-i-edit fs"></span>
                    </a>
                    <a name="deleteBtn" type="submit" class="btn-icon" ng-click="deleteTenant(tenant)">
                        <span class="icon-i-trash fs"></span>
                    </a>
                </div>
            </td>
        </tr><!-- end ngRepeat: tenant in tenants track by $index -->
    </tbody>

Не работает.Не могли бы вы поправить меня, чтобы это сработало?

1 Ответ

0 голосов
/ 05 октября 2018

Во-первых, вы должны использовать ключевое слово Get Text, потому что Get Value возвращает value атрибут элемента.В вашем случае ваш элемент не имеет этого атрибута, поэтому я предполагаю, что вам нужен текст.

Во-вторых, span элементы из HTML-фрагмента, содержащего всю таблицу, отличаются от span элемента, который вы предоставили отдельно.Они не содержат атрибута style.

Наконец, наиболее вероятное решение вашей проблемы:

Get Text    //td[text()='${testAccount}']/following-sibling::td/span
...