我正在使用 Squish 框架编写 Qt 应用程序的自动测试脚本。Squish IDE 中的 Spy 可以查看“spy picker”选择的 Qt 小部件的属性和方法。在 Spy 透视图中启用 Window -> Show View -> Methods。
我可以在方法视图中看到类似void setParent(QObject*)
方法名称、返回和参数类型的内容。
在 Python 测试脚本的运行时,我可以获取小部件属性,例如isActiveWindow -> true
,通过调用
aWidget = waitForObject("...")
aMap = object.properties( aWidget )
小部件方法可从 Python 获得,例如我可以调用:
>>> aWidget.isModal()
0
但是如何获取小部件方法签名列表,如 IDE 中的方法视图?我想出的只是
>>> dir(this)
['BackButtonPressed', 'ButtonPressed', ...
但当然它只列出方法名称而不是签名,没有声明的参数类型或返回类型。间谍以某种方式获取签名,我如何在运行时从 Python 获取它们?