1

我正在使用 Jubula 来测试一个大型软件工具。由于 UI 得到更新,Jubula 有一些大问题。测试退出的位置(假设在步骤 A 之后),在我试图找出问题所在之后,我没有发现问题,并且 Jubula 在完全不同的位置退出,有时在位置 A 之前和之后.如果,如果,它退出的地方,它是真正随机的接缝。

现在我认识了事件处理程序(在此之前,我从未习惯使用它们)。由于有很多测试用例并且在每个测试用例中有很多操作(至少 50 个)并且 Jubula 总是“停止”在不同的位置,所以添加一个总是做同样事情的事件处理程序并没有解决问题(比如说点击一个按钮)因为有时 Jubula 会单击按钮 A,有时会单击 B,在其他情况下,他必须从“下拉菜单”中选择某些内容。

现在我的问题是:是否可以强制 Jubula 重复 LAST DONE 动作?由于我开始密切关注报告,我注意到按钮已经显示并且 jubula 只是没有点击它们。(我试图等到它们出现后再点击它们,但它仍然没有用)

如果有解决方案,我会非常高兴(即使它“很难”或难以实现,因为我需要添加很多组件。)

4

1 回答 1

1

如果您知道如何从源代码构建 Jubula,则有一个“困难”的解决方案。

Jubula 没有 STEP_BACK 事件处理程序,因此您在 ReentryProperty.java 中引入了 STEP_BACK条目。之后,修改Traverser.java的 next() 方法来处理这个新条目。您也可以联系 Bredex GmbH 提出这样的功能请求,他们会迅速回复每封邮件。

但我宁愿尝试确保 Jubula 找到这些按钮。创建一个单击按钮的自定义案例(即 Sure_Click),但有一个具有几百毫秒延迟的 RETRY 事件处理程序。

如果您有权访问 AUT 的代码,请尝试为 Jubula 必须找到的每个小部件设置 setData("TEST_COMP_NAME", "unique_id")。这是定位小部件的最/唯一稳定的方法。

于 2018-12-01T13:11:27.013 回答