将文本与量角器中的换行符进行比较

时间:2018-01-02 22:10:28

标签: javascript selenium jasmine protractor

我试图搜索各种论坛但却无法得到答案 我试图使用tobe函数比较量角器中的确切文本。但是,量角器中的GetText()函数会给我带有换行符的文本,这些换行符与我预期的文本不匹配。有些专家可以建议如何删除换行符来比较这个文本吗?我使用以下声明。

expect(invoice.getText()).toBe('This is my URL');`    

GetText()方法的结果:

  

预期'这是

     

我的网址'是'这是我的网址'。

3 个答案:

答案 0 :(得分:2)

或者,您可以使用不需要您解决承诺的.toMatch()匹配器:

expect(invoice.getText()).toMatch('This is\s+my URL');

其中\s+匹配一个或多个"空格"字符包括换行符。

答案 1 :(得分:0)

你总是replace你不想要一个javascript字符串的字符:

invoice.getText().then(function (text) {
    expect(text.replace(/\n/, '')).toBe('This is my URL');
})

答案 2 :(得分:0)

我遇到了同样的问题,替换为totomatch任何在我编写正确的比较时起作用的东西,最后我将其修复,请尝试以下代码:

it('Description' async function(){
    //your code
    expect(await invoice.getText()).toBe('This is\n'+ 'my URL'); 
})

“这是

我的网址”将等于“这是

我的网址”并最终通过测试