1

正如http://wiki.netbeans.org/Jemmy_Operators_Environment中所述,默认时间为ActionProducer.MaxActionTime10000 毫秒。

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

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

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

在此处输入图像描述

但我仍然遇到下一个错误:

“菜单推送:(带有文本“模块”的JMenuItem,带有文本“企业实体”的JMenuItem)(ActionProducer.MaxActionTime)”动作在60005毫秒内没有产生

60000 毫秒是最大值ActionProducer.MaxActionTime吗?

更新:

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

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

但结果是一样的——它是 120000 秒,但在 60000 秒时仍然失败。

4

1 回答 1

0

尽管错误消息状态(ActionProducer.MaxActionTime)" action has not been produced in...为 ,但还有另一个超时来控制此操作时间:

JMenuOperator.PushMenuTimeout

即使我设置:

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

错误是:

“菜单推送:(带有文本“模块”的 JMenuItem,带有文本“企业实体”的 JMenuItem)(ActionProducer.MaxActionTime)”动作在 51 毫秒内未生成

所以不要相信 Jemmy 的日志消息并尝试找到正确的超时时间。

于 2017-03-20T15:04:48.323 回答