正如 http://wiki.netbeans.org/Jemmy_Operators_Environment 上所述ActionProducer.MaxActionTime
的默认时间为 10000 毫秒。
我需要将其增加到 120000 毫秒并使用下一个代码:
JemmyProperties.setCurrentTimeout("ActionProducer.MaxActionTime", 120000);
当代码在 Debug模式下运行时,值为120000:
但我仍然遇到下一个错误:
"Menu pushing: (JMenuItem with text "Modules", JMenuItem with text "Corporate entity") (ActionProducer.MaxActionTime)" action has not been produced in 60005 milliseconds
60000 毫秒是 ActionProducer.MaxActionTime
的最大值吗?
更新:
实现 org.netbeans.jemmy.Timeoutable 的类的每个实例都可以有自己的超时值,因此我检查了生成错误的实例的超时
menuBar.getTimeouts().getTimeout("ActionProducer.MaxActionTime")
但结果是一样的 - 120000 秒,但在 60000 秒时仍然失败。
最佳答案
尽管错误消息指出 (ActionProducer.MaxActionTime)"操作尚未生成于...
,但还有另一个超时规则规则此操作时间:
JMenuOperator.PushMenuTimeout
即使我设置:
JemmyProperties.setCurrentTimeout("JMenuOperator.PushMenuTimeout", 50);
错误是:
"Menu pushing: (JMenuItem with text "Modules", JMenuItem with text "Corporate entity") (ActionProducer.MaxActionTime)" action has not been produced in 51 milliseconds
所以不要相信 Jemmy 日志消息并尝试找到正确的超时。
关于java - Jemmy lib 中的 ActionProducer.MaxActionTime 有最大限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39534277/