我正在使用Marathon(Java桌面应用程序测试工具)来自动化回归测试。Marathon使用Jython,所以我可以使用Java库和Python库。当我的脚本填写某些字段时,根据我在前面的字段中输入的值显示(或不显示)不同的字段。我需要跳过那些显然没有的领域。当字段被禁用,但仍然存在时,这很好,因为我可以使用
if Component.isEnabled():
#do something
else:
#do something
问题是当组件不存在时。在Java中,有没有方法可以测试组件的存在?例如,Component.exists()
可以满足我的需要,但是component类中没有这样的方法。在
我希望通过使用if Component.exists():
语句来解决我的问题,但是我可以使用try,except块来解决它。但是,这会导致脚本的主要执行时间问题。它会在引发异常之前尝试查找组件约2或3分钟。关于这个问题,我唯一能看到的方法是,是否存在类似try for x seconds
之类的语句,如果找不到组件,则继续前进。有没有什么方法可以限制你尝试任何给定语句的时间?在
我发现一些代码可以在代码中抛出超时异常,作为对另一个Stackoverflow问题的回答:What should I do if socket.setdefaulttimeout() is not working?,但是它只适用于链接中所述的linux机器。在
具体来说:
这将尝试“做某事”60秒,如果执行超过60秒则继续。。。在
这是解决问题的方法:
3是函数超时的时间
谨致问候,史洛米
相关问题 更多 >
编程相关推荐