如http://wiki.netbeans.org/Jemmy_Operators_Environment所述,ActionProducer.MaxActionTime
的默认时间为10000毫秒。
我需要将其增加到120000 ms并使用下一个代码:
JemmyProperties.setCurrentTimeout("ActionProducer.MaxActionTime", 120000);
当代码在调试模式下运行时,值为120000:
但仍然有下一个错误:
“菜单推送:(带有文本“模块”的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日志消息并尝试找到正确的超时。