简体   繁体   中英

How to remove white space in a string with Robot Framework?

My Variable : 54, 22

What I want : 54,22

I've tried :

Execute Javascript var a = 54, 22;var x = a.split(' ').join('');return x

and

Execute Javascript var a = 54, 22;var x = a.replace(/\\s/g, '');return x

and

log ${str.strip()}

But none of them solved my problem. When I execute these code seperately I got that error:

FAIL : WebDriverException: Message: u'unknown error: Runtime.evaluate threw exception: SyntaxError: Unexpected number\\n at Object.InjectedScript._evaluateOn (:895:140)\\n at Object.InjectedScript._evaluateAndWrap (:828:34)\\n at Object.InjectedScript.evaluate (:694:21)\\n (Session info: chrome=43.0.2357.124)\\n (Driver info: chromedriver=2.12.301325 (962dea43ddd90e7e4224a03fa3c36a421281abb7),platform=Windows NT 6.1 SP1 x86_64)'

How to solve that problem?

Using the String Library

The String library has a Replace String keyword that you can use to remove whitespace, without having to resort to running javascript:

*** Settings ***
| Library | String

*** Test Cases ***
| Example of removing whitespace
| | ${value}= | Replace String | 54, 22 | ${space} | ${empty}
| | Should be equal | ${value} | 54,22

Using the Evaluate keyword

You can run arbitrary python code with the Evaluate keyword. For example:

*** Test Cases ***
| Example of removing whitespace
| | ${value}= | Evaluate | "54, 22".replace(" ", "")
| | Should be equal | ${value} | 54,22

您在变量中缺少逗号,这就是为什么出现语法错误的原因:

var a = '54, 22';

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM