RobotFramework:如何使用“后续兄弟”获取信息

时间:2018-10-05 10:34:48

标签: xpath robotframework

我想恢复帐户状态“ RF-Account”的值,如图所示。 enter image description here为此,我使用RobotFramework中的这段代码将xpath定位为在其右侧检索值:
${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 :(得分:0)

首先,您应该使用关键字Get Text,因为Get Value返回元素的value属性。在您的情况下,您的元素没有此属性,因此我假设您需要文本。

第二,包含整个表格的html代码段中的span元素与您单独提供的span元素不同。它们不包含style属性。

最后,最可能解决您问题的方法是:

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