Protractor:How 从字符串中删除额外的 space 就像我们在 java getText.trim() 中使用的一样
Protractor:How to remove extra space from string just like we use in java getText.trim()
如何从字符串中删除额外的 space 就像我们在 Protractor,
I 中使用的 java getText.trim()
像这样使用:
var columnvalue=rows.get(9).getText();
var columnvalue1=columnvalue.trim();
但是我得到了错误:
Object [object Object]
没有方法 'trim'
getText()
方法 returns 一个 Promise 对象。您需要这样做才能获取字符串:
rows.get(9).getText().then(function(text) {
console.log(text.trim());
});
如果您查看收到的错误,您会发现它正在尝试访问对象的方法 trim()
,而不是字符串。
Andreas 的解决方案基本正确。我只是附加一些额外的信息。
我不确定你用 trim 做什么,但是
1) 如果你想把它放入一个断言中:
expect(rows.get(9).getText()).toMatch('\s*STRING_TO_MATCH\s*')
或者干脆
expect(rows.get(9).getText()).toContain('STRING_TO_MATCH')
2) 如果您想要 returns trimmed 值
的承诺
var columnvalue=rows.get(9).getText();
var columnvalue1=columnvalue.then(function(text) {return text.trim();})
使用 async/await 你可以像这样解决承诺并直接调用 trim()
。
expect((await page.getElement().getText()).trim()).toBe('');
如何从字符串中删除额外的 space 就像我们在 Protractor,
I 中使用的 java getText.trim()
像这样使用:
var columnvalue=rows.get(9).getText();
var columnvalue1=columnvalue.trim();
但是我得到了错误:
Object [object Object]
没有方法 'trim'
getText()
方法 returns 一个 Promise 对象。您需要这样做才能获取字符串:
rows.get(9).getText().then(function(text) {
console.log(text.trim());
});
如果您查看收到的错误,您会发现它正在尝试访问对象的方法 trim()
,而不是字符串。
Andreas 的解决方案基本正确。我只是附加一些额外的信息。
我不确定你用 trim 做什么,但是
1) 如果你想把它放入一个断言中:
expect(rows.get(9).getText()).toMatch('\s*STRING_TO_MATCH\s*')
或者干脆
expect(rows.get(9).getText()).toContain('STRING_TO_MATCH')
2) 如果您想要 returns trimmed 值
的承诺var columnvalue=rows.get(9).getText();
var columnvalue1=columnvalue.then(function(text) {return text.trim();})
使用 async/await 你可以像这样解决承诺并直接调用 trim()
。
expect((await page.getElement().getText()).trim()).toBe('');