robotframework --解析数据的规则

435 阅读1分钟

忽略数据

  • 第一个测试数据部分之前的所有数据
  • 在Comments部分的数据
  • 所有的空行
  • 当用管道分割符(‘|’)时,行末的所有空的单元格
  • 当没有使用转义的时候,所有的‘\’
  • 注释中的所有数据,以#开头的

转义字符

转义字符meaning
\$不再表示一个标量
\@不再表示一个list
\&不再表示一个字典
\#不再表示一个注释

special 转义

sequencemeaning
\n表示换行
\r表示回车
\t表示制表格

note

${\n} can be used if operating system dependent line terminator is needed windows: it means \r\n linux: it means \n

处理 empty values

当使用空格分隔的模式, 空格的数量被用来当作分隔符,所以empty values 不能够被识别除非它们被转义

*** Test Cases ***
Using backslash
    Do Something    first arg    \
    Do Something    \            second arg

Using ${EMPTY}
    Do Something    first arg    ${EMPTY}
    Do Something    ${EMPTY}     second arg

当使用管道分隔模式时, empty values 只需要在行末的时候被转义

| *** Test Cases *** |              |           |            |
| Using backslash    | Do Something | first arg | \          |
|                    | Do Something |           | second arg |
|                    |              |           |            |
| Using ${EMPTY}     | Do Something | first arg | ${EMPTY}   |
|                    | Do Something |           | second arg |

处理空格 spaces

空格,特别是连续的空格,作为关键字参数的一部分或其他所需的是有问题的,原因有二:

  • 两个或两个以上的空格会被认为是分隔符,当用空格分隔模式时
  • 当应用管道分隔时,前导和尾随的空格会被忽略

在以上场景,空格需要被转义,可以用转义符和${SPACE}

用\转义空格用${SPACE}转义空格
\ leading space${SPACE}leading space
trailing space \trailing space${SPACE}
\ \${SPACE}
consecutive \ \ spacesconsecutive ${SPACE * 3} spaces

推荐使用${SPACE}, 更让人容易理解

数据分行

如果有很多的数据在一行,则可以使用‘...’将其拆分成多行, 省略号可以缩进以匹配起始行的缩进,并且它们必须始终跟在正常的测试数据分隔符之后