2024-05-21 07:30:20 发布
网友
我被分配了自动化质量管理程序的任务。 我对python和Squish都很陌生。 我试图找到一种方法来获取文本元素的id属性 例如:
Text{ id:testLabel text:"Hello" }
所以在压榨中捕获我得到的目标(通过间谍)
但我想把它捕捉为
waitForObject(":GAMES.testLabel_Text")
这有可能实现吗?如果不是的话,我还有什么别的办法可以做。在
注意:我需要比较不同语言的文本
诊断
我认为你把“实名”和“符号名”混淆了。我建议你去看看Squish的官方documentation about the objects map,但我的理解是,压扁符号名(以冒号开头的名称)本质上等同于变量名。它们是用来在对象.map. 在
在对象.map包括符号名和Squish所指的“实名”。实名是一个匹配模式,可用于查找Qt对象。例如,在对象.map文件如下所示:
:GAMES.Hello_Text {name='Hello_Text' type='QLineEdit' visible='1' window=':GAMES'} :GAMES.testLabel_Text {name='testLabel_Text' type='QLineEdit' visible='1' window=':GAMES'}
如你所见,这两个词都是:游戏。你好短信“和”:GAMES.testLabel_文本“:GAMES”窗口中的QLineEdit字段(它本身是一个符号名,在对象.map). 在
潜在解决方案
为了得到充分的帮助,我建议您将对象.map. 相关条目将是您感兴趣的对象的条目,可能还有它们的直接父项。在
我不确定您到底需要什么,这里有三种方法,如果您在“:GAMES”符号名指定的对象中寻找任意的和以编程方式确定的元素。在
1。查找父对象并检查其属性
2.查找父对象的属性
mytext = waitForObjectAttribute(":GAMES", "testLabel_Text")
请注意,在本例中,“testLabel_Text”是一个任意文本字符串,它引用由“:GAMES”符号名指定的对象的属性。您可以将waitForObjectAttribute()看作是Python内置的getattr()的类似物。在
waitForObjectAttribute()
getattr()
3.使用实名查找所需信息
mytext = waitForObject("{name='testLabel_Text' type='QLineEdit' visible='1' window=':GAMES'}")
诊断
我认为你把“实名”和“符号名”混淆了。我建议你去看看Squish的官方documentation about the objects map,但我的理解是,压扁符号名(以冒号开头的名称)本质上等同于变量名。它们是用来在对象.map. 在
在对象.map包括符号名和Squish所指的“实名”。实名是一个匹配模式,可用于查找Qt对象。例如,在对象.map文件如下所示:
如你所见,这两个词都是:游戏。你好短信“和”:GAMES.testLabel_文本“:GAMES”窗口中的QLineEdit字段(它本身是一个符号名,在对象.map). 在
潜在解决方案
为了得到充分的帮助,我建议您将对象.map. 相关条目将是您感兴趣的对象的条目,可能还有它们的直接父项。在
我不确定您到底需要什么,这里有三种方法,如果您在“:GAMES”符号名指定的对象中寻找任意的和以编程方式确定的元素。在
1。查找父对象并检查其属性
^{pr2}$2.查找父对象的属性
请注意,在本例中,“testLabel_Text”是一个任意文本字符串,它引用由“:GAMES”符号名指定的对象的属性。您可以将
waitForObjectAttribute()
看作是Python内置的getattr()
的类似物。在3.使用实名查找所需信息
相关问题 更多 >
编程相关推荐