量角器 - 检查输入字段是否有文本

时间:2015-07-31 10:58:43

标签: javascript angularjs jasmine protractor

我正在编写一个简单的量角器测试,旨在检查某个输入标签是否包含单击按钮后的文本。我尝试了一些事情,我现在正在尝试使用protractor.ExpectedConditions来检查它是否包含任何文本。这是我的代码:

it("should click submit", function() {
    var EC = protractor.ExpectedConditions;
    var status = element(by.id('status'));
    $("#btnSubmitQuery").click();
    var condition = EC.textToBePresentInElement(status, 'C');
    browser.wait(condition, 8000, "Text is still not present");
    status.getText().then(function (text) {
        console.log(text);
    });
});

一旦单击btnSubmitQuery,就会对服务器进行REST调用,但问题是我永远无法获得任何状态值。当我运行此代码时会发生什么,浏览器只是等待8秒然后关闭,即使我可以在元素中看到文本。没有任何内容记录到控制台。有什么想法吗?

编辑: 我正在检查的html元素如下所示:

<td><input id="status" type="text" class="form-control" placeholder="PaxStatus ..." value="{{paxInformation.status}}"ng-readonly="true"></td>

3 个答案:

答案 0 :(得分:7)

只是为了提高@ maurycy的答案。这个特殊情况有一个built-in Expected Condition

var EC = protractor.ExpectedConditions;
browser.wait(EC.textToBePresentInElementValue(status, 'C'), 5000)

答案 1 :(得分:6)

不应该更像那样:

[self.selectAllButton setSelected:YES]; & [btn setSelected:YES];

答案 2 :(得分:0)

我正在使用这个

var EC = protractor.ExpectedConditions;
var txt = browser.wait(EC.textToBePresentInElementValue(status, 'C'), 5000)

return browser.wait(txt, 5000).catch(() => { 
throw new Error('Text is still not presentt');});
相关问题