时间格式

Robot Framework有一套自己的时间格式, 既灵活且易懂. 这个格式被用于好几个关键字中(例如, BuiltIn_ 关键字 :name:Sleep:name:Wait Until Keyword Succeeds), DateTime_ 库, 以及 timeouts_.

has its own time format that is both flexible to use and easy

to understand. It is used by several keywords (for example, BuiltIn_ keywords:name:Sleep and :name:Wait Until Keyword Succeeds), DateTime_ library, andtimeouts_.

作为数字的时间

时间总是可以用数字来表示, 此时解释为秒数. 整数和浮点数都可以, 并且可以是真正的数字, 也可以是包含数字值的字符串.

时间字符串

以时间字符串来表示时间意味着使用类似于 2 minutes 42 seconds 这种格式, 这种情况通常比纯的秒数更容易懂. 比如说, 4200 秒有多长恐怕很难理解, 但是 1 hour 10 minutes 就清楚的多了.

这种格式的基本思想就是前面有一个数字, 然后跟一个表示时间单位的文本. 数字部分可以是整数或浮点数, 整个格式不区分大小写, 也忽略空格, 同时还可以添加 - 前缀来表示负数.

可用的表示时间的单位有:

  • days, day, d
  • hours, hour, h
  • minutes, minute, mins, min, m
  • seconds, second, secs, sec, s
  • milliseconds, millisecond, millis, ms

示例:

  1. 1 min 30 secs
  2. 1.5 minutes
  3. 90 s
  4. 1 day 2 hours 3 minutes 4 seconds 5 milliseconds
  5. 1d 2h 3m 4s 5ms
  6. - 10 seconds

“timer” 字符串

Robot Framework 2.8.5 版本开始, 时间还可以用时钟格式 hh:mm:ss.mil 来表示. 这种格式里的小时部分和微秒部分是可选的, 开头部分的0在没有意义的时候可以省略. 可通过前缀 - 表示负数.

下表中左边timer格式和右边时间字符串格式的值是等价的:

Timer and time string examples
TimerTime string
00:00:011 second
01:02:031 hour 2 minutes 3 seconds
1:00:001 hour
100:00:00100 hours
00:022 seconds
42:0042 minutes
00:01:02.0031 minute 2 seconds 3 milliseconds
00:01.51.5 seconds
-01:02.345- 1 minute 2 seconds 345 milliseconds