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

时间:2015-02-09 05:49:45

标签: protractor

这是我的测试用例: 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'中,但是量角器似乎并不存储。

3 个答案:

答案 0 :(得分:2)

    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);

答案 1 :(得分:1)

我想我情况复杂化了。这是一个直接的实施如下:

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

答案 2 :(得分:0)

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

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