量角器:无法从元素中提取值并将其存储在变量中以供将来使用
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);
这是我的测试用例: 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);