0

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

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

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

4

2 回答 2

1

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

但是假设该对象存在,您可以找到它,get_component然后通过调用java.awt.Component'sisEnabled来获取它的状态。

于 2014-01-03T18:53:30.990 回答
0

有一个方法被调用get_p,它从 Java 对象返回一个属性值。您可以检查get_p('object', 'enabled')哪个返回“真”或“假”。请注意,返回值是字符串而不是布尔对象。

于 2014-01-13T06:19:54.127 回答