在量角器中将元素文本转换为对象

时间:2016-03-04 11:07:27

标签: javascript angularjs json string protractor

我有一个带有json作为文本的span标记,我正在尝试使用该文本并将其转换为量角器中的对象,以便我可以将其用于测试。

{"type":"msax-cc-error","value":[{"Code":22104,"Message":"Card holder is required"},{"Code":22058,"Message":"Card number is required"},{"Code":22109,"Message":"Card type is not supported"},{"Code":22103,"Message":"Expiration year is required"}]}

有没有办法将此get转换为量角器中的对象?目前我这样做,但似乎无法正常工作。

it('Submitting should be ignored and prompt appropriate error code', function() {
    //assign the element text to a variable
    var response = element(by.css('.message-box .message-in')).getText();
    expect(response.type).toBe('msax-cc-error');
});

1 个答案:

答案 0 :(得分:1)

当您对元素执行getText()操作时,它会以字符串的形式返回元素的文本。要将结果用作对象,必须使用JSON.parse()函数将字符串转换为对象。这是怎么做的 -

var response;
element(by.css('.message-box .message-in')).getText().then(function(text){
    response = JSON.parse(text);
    expect(response.type).toBe('msax-cc-error');
});

希望它有所帮助。