量角器:无法从元素中提取值并将其存储在变量中以供将来使用

Protractor: Not able to extract value from an element and store it in a variable for future use

这是我的测试用例: 1)从页面元素中获取计数器的值 2)访问其他页面,使原始页面的计数器增加 3) 再次获取计数器值并与之前的计数器值进行比较

这是我所做的:

var x;
var ele = element(by.xpath("some value"));
        ele.getText().then(function(val){
            x = val;
        });
        expect(x).toEqual(0);

输出: 信息: 预期未定义等于 0。

我想将值存储在全局变量中 'x' 但量角器似乎没有存储。

    var ele = element(by.xpath("some value"));
    var x = ele.getText().then(function(val){
        return do_something_with_val(val);
    });
    expect(x).toEqual(0);

如果您只想要文本,那么:

    var ele = element(by.xpath("some value"));
    expect(ele.getText()).toEqual(0);

我想我把情况复杂化了。这是一个直接的实现,如下所示:

var ele = element(by.xpath("some value"));
var x = ele.getText();
expect(x).toEqual(0);

以下是存储整数值以备将来使用的方法。只需要使用 javascript 的 ParseInt 函数。

         foo = function(ele){       
                return ele.getText().then(function(val){
                  return parseInt(val);
                });
            };
         ele = element(by.id(...));  
         val_ele = foo(ele);