转义特殊字符
由于空格被用来分隔选项, 所以想在选项值中使用空格就会产生问题. 有的选项, 例如 —name
, 会自动将下划线转换为空格, 但在其他选项中, 空格则必须要被转义. 除此之外还有很多特殊字符也无法简单的在命令行中使用.
使用反斜杠或者引号来转义这些复杂的字符并不总是有效的, 所以Robot Framework有自己的通用转义机制. 另外一种方法则是使用 参数文件, 将所有选项以纯文本的格式写入其中. 这两种方法在测试执行, 测试结果处理, 以及使用其他第三方支持工具时, 都有相同或相似的功能.
Robot Framework的命令行转义机制中, 特殊字符可以自由地选用替代字符来转义. 使用命令行选项 —escape (-E)
, 该选项的参数格式是 what:with
, 其中 what
是待转义字符的名称, with
是要替代它的普通字符. 可用这种方法转义的字符如下表所列:
看看下面的例子会更容易理解. 第一个例子中, 选项metadata X
最终的值是 Value with spaces
, 而第二个例子中, 变量 ${VAR}
被赋值为 "Hello, world!"
:
- --escape space:_ --metadata X:Value_with_spaces
- -E space:SP -E quot:QU -E comma:CO -E exclam:EX -v VAR:QUHelloCOSPworldEXQU
注意所有的命令行参数, 包括测试数据的路径, 都会被转义. 所以, 必须小心地选择转义字符的顺序.
当前内容版权归 robotframework 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 robotframework .