input.getAttribute('value')返回的字符串缺少一个字符

时间:2015-03-30 09:53:49

标签: html angularjs protractor end-to-end

我正在为角度应用程序开发e2e-tests但我遇到了一个问题。我正从<中检索值。 input type =“text”/>使用方法.getAttribute('value')但它缺少一个字符。我检查了保存值的元素的HTML属性,并正确显示它。我已经在应用程序中手动回溯了这些步骤,并且它也正确显示。这对我来说似乎非常不合逻辑,但也许有人有过这个问题的经验。提前谢谢。

HTML code:

<input class="form-control ng-pristine ng-untouched ng-valid" ng-model="schedule.cronValue" id="cronValue" disabled="disabled">

用于检索元素值的量角器代码:

//fill our CRON variable with the generated CRON value
        element(by.id('cronValue')).getAttribute('value').then(function(attr){
            CRON = attr;
        });

预期输出是我的数据库中的值。从输入类型文本中检索CRON值。 如果需要,情况的屏幕截图:http://imgur.com/Co4mGyL

Console.log输出:

Expected value:0 0 0 1/1 * ? *
CRON:0 0 0 1/ * ? *

如您所见,在'/'。

之后缺少'1'

1 个答案:

答案 0 :(得分:1)

很难说无法重现问题,但我会尝试使用evaluate()并“评估”模型的值:

element(by.id('cronValue')).evaluate('schedule.cronValue').then(function(value) {
    CRON = value;
});

如果CRON值仍然具有相同的不正确值 - 那么,至少,您会知道该值实际上是在模型上设置的,并且它可能来自数据库。

相关问题