量角器期望选择器的特定文本同级

时间:2018-08-23 12:40:13

标签: protractor e2e-testing siblings

我有一张这样的桌子:

<table>
<tbody>
    ...
    <tr>
        <td>
            <div class="radio-inline">
                <input name="sms_provider" type="radio" value="2" id="2">
                <label class="text-gray-dark" for="2"> </label>
            </div>
        </td>
        <td data-label="Server name">ServerA3</td>
        <td data-label="Description"></td>
        <td data-label="Status">
            <label class="text-success">
                <clr-icon shape="check"></clr-icon>
                Default
            </label>
        </td>
        <td data-label="Actions">
            <a href="http://example.com/public/smsconfigurations/2/edit" data-tooltip="Edit Server">
                <clr-icon shape="pencil" size="22" style="width: 22px; height: 22px;"></clr-icon>
            </a>
        </td>
    </tr>
    ...
</tbody>
</table>

现在我要检查ServerA3的状态为Default还是没有。事实上,我希望ServerA3Default文本作为同级。我该怎么办?

我尝试使用此代码,但不起作用:

expect(element(by.xpath('//td[contains(text(), "ServerA3")]')).getWebElement().getDriver().findElement(by.css('*[data-label="status"]')).getText()).toContain('Default');

1 个答案:

答案 0 :(得分:1)

var status = element(by.xpath('//tr[td[.="ServerA3"]]/td[@data-label="Status"]'))
            .getAttribute('innerText');

expect(status).toEqual('Default')