我正在使用Squish(Python)进行qt gui测试。我面临着许多动态对象(每次执行都有很多次出现)。如何避免压榨现象发生?
答案 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不会使用“出现率”,而是使用该“名称”来标识对象,并且很有可能同时使用“类型”和“可见”属性。