测试是否在Marathon中启用了对象

时间:2013-12-26 20:15:22

标签: jython marathontesting

我正在尝试使用Marathon进行一些数据驱动测试,而我正在屏幕上输入一些数据。我遇到的问题是我试图填写的JComboBox之一并不总是被启用(即有时它会变为默认值)。如果未启用JComboBox,我需要能够跳过该步骤。

if object enabled:
    select('object', 50) #otherwise skip and move on

我试过使用assertEnabled调用,但我无法确切知道返回的是什么。我已将assertEnabled嵌入到if语句中,并且我没有得到任何语法错误,但每当我执行测试时,它都会挂起if语句并且什么都不做。我希望它会抛出一个错误,以便我可以使用try catch,但事实并非如此。有关如何在未启用某个对象的情况下让它通过该步骤的任何建议?此外,我宁愿不使用计时器并让它查找一段时间,因为我们在回归中运行了数千个测试用例,这将使脚本花费数天甚至数周即可完成。

2 个答案:

答案 0 :(得分:1)

Marathon有一个get_component函数,可以为您提供实际的Java组件(请参阅文档中的“脚本界面”部分)。此函数将暂停一段时间,如果找不到该对象则会失败。

但假设对象存在,您可以使用get_component找到它,然后通过在其上调用java.awt.Component的{​​{3}}来获取其状态。

答案 1 :(得分:0)

有一个名为get_p的方法,它从Java对象返回一个属性值。您可以查看get_p('object', 'enabled'),其中返回'true'或'false'。请注意,返回值是字符串而不是布尔对象。