如何避免在进行Qt测试时出现挤压?

时间:2019-06-13 06:26:07

标签: squish

我正在使用Squish(Python)进行qt gui测试。我面临着许多动态对象(每次执行都有很多次出现)。如何避免压榨现象发生?

2 个答案:

答案 0 :(得分:0)

这取决于当时的应用程序GUI设计,以及是否有一个memory leak导致各个GUI对象的Squish对象真实名称中的"occurrence" property

通常,最好的方法是使用GUI自动化测试脚本需要与之交互的QObject.setObjectName(QString)assign a (good, unique enough) name to each GUI object

如果已完成此操作,并且还没有在对象图中标识对象的对象实名,则在与对象交互时,新的Squish对象名称将添加到对象图中,并且此新对象名称将具有一个“名称”属性,该属性具有通过该对象通过QObject.setObjectName(QString)设置的值,而可能没有“出现”属性。

答案 1 :(得分:0)

出现是用来识别没有足够独特属性来彼此区分的对象。

例如,如果您的标签带有相同的标题/文本,但没有分配唯一的名称,则Squish将标识第二个标签,其值为encesence = 1。从长远来看,这是无法维持的,因为对对象结构的任何修改都可能使脚本无效,如果发生更改,脚本会错误地标识对象。

我要做的是要求开发人员为每个GUI控件分配唯一的名称。当每个对象都有唯一的名称时,Squash不会使用“出现率”,而是使用该“名称”来标识对象,并且很有可能同时使用“类型”和“可见”属性。