簡體   English   中英

在量角器測試中不能從元素值返回字符串

[英]Cannot return string from value of element in protractor test

所以我試圖從這個promise的解析中獲取一個元素值返回的字符串值。 我想將原始字符串值傳遞給我在量角器測試中構建的另一個函數。

這是元素:

<div style='hidden' >
    <input id="group-sendgrid-hidden-input" ng-model='groupCode' value='dangyo' >
</div>

我正在尋找一種方法來獲得模型值或屬性值(兩者都可以)。 模型值甚至可能更好。

這是我嘗試在這里解決一個承諾並返回一個結果:

// first get the element driver object
var groupCode = element(by.id('group-sendgrid-hidden-input'));

// next resolve a promise provided by this element
groupCode.getAttribute('value').then(function(value){

    console.log( 'should be a string: ' + value);

    return value;
});

這里是console.log( 'should be a string: ' + value); 總是為value返回null ,我無能為力似乎解決了這個問題。 我確定我做錯了,因為我不熟悉量角器,這看起來很簡單。 有沒有其他人遇到這種行為?

這對於評論來說太大了,仍然可以猜測,但如何制作自定義的“預期條件”等待input元素的value屬性值不為null

var hasNotNullValue = function(elementFinder) {
    return function() {
        return elementFinder.getAttribute("value").then(function(value) {
            return !!value;  // is not null
        });
    }; 
};

var groupCode = element(by.id('group-sendgrid-hidden-input'));
browser.wait(hasNotNullValue(groupCode), 10000);

groupCode.getAttribute('value').then(function(value){
    console.log('should be a string: ' + value);
});

您還可以使用evaluate()來檢索模型值:

groupCode.evaluate('groupCode').then(function(value) {
    console.log(value);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM