Rational Robot 在操作 GUI 控件上有很多的局限性。这主要是因为 Rational Robot 无法识别被测控件的全部属性或者被测控件的属性会随着环境而改变导致其状态和录制脚本时候的状态不一致。
例如,对于日期时间控件 (DateTimePicker) 来说,我们对它的操作可以是将其设置为空或者选择一个指定的日期。我们可以通过两种方法来指定日期控件中的日期值:一是在日期控件中直接输入日期;二是点击控件右边的下拉按钮并在弹出的月历控件中选择指定的日期。
但是 Rational Robot 对日期时间控件和月历控件的识别能力都有局限性,它只能记录用户在控件上鼠标操作的坐标值,而不能记录用户对其中的复选框的操作和实际选取的日期值。通常我们会根据当前日期控件中的日期格式,用 Robot 记录使用键盘输入的方式来设定日期值,但是这样的方法稳定性和可移植性比较差,当日期格式发生变化的时候,我们就必须修改输入日期的格式,否则回放的脚本就无法正确地设置日期值。