http://wiki.netbeans.org/Jemmy_Operators_Environment所述,ActionProducer.MaxActionTime的默认时间为10000毫秒。

我需要将其增加到120000 ms并使用下一个代码:

JemmyProperties.setCurrentTimeout("ActionProducer.MaxActionTime", 120000);


当代码在调试模式下运行时,值为120000:

java - Jemmy lib中的ActionProducer.MaxActionTime是否有最大限制?-LMLPHP

但仍然有下一个错误:


  “菜单推送:(带有文本“模块”的JMenuItem,带有文本的JMenuItem
  尚未执行“公司实体”)(ActionProducer.MaxActionTime)”操作
  在60005毫秒内产生


ActionProducer.MaxActionTime的最大值是60000 ms吗?

更新:

实现org.netbeans.jemmy.Timeoutable的类的每个实例都可以有自己的超时值,因此我检查了产生错误的实例的超时

menuBar.getTimeouts().getTimeout("ActionProducer.MaxActionTime")


但结果是相同的-它是120000秒,但仍在60000秒时失败。

最佳答案

尽管错误消息指出了(ActionProducer.MaxActionTime)" action has not been produced in...的事实,但是另一个限制该操作时间的方法是:


  JMenuOperator.PushMenuTimeout


即使我设置:

JemmyProperties.setCurrentTimeout("JMenuOperator.PushMenuTimeout", 50);


错误是:


  “菜单推送:(带有文本“模块”的JMenuItem,带有文本的JMenuItem
  尚未执行“公司实体”)(ActionProducer.MaxActionTime)”操作
  在51毫秒内产生


因此,不要迷惑Jemmy日志消息并尝试找到正确的超时。

08-03 12:45