用于 waitForObject 的函数如下。我希望每次使用此函数时都会等待默认的秒数。
def login():
type(waitForObject(names.login_lineEditUserId_QLineEdit), "786")
waitForObject()
的默认超时为testSettings.waitForObjectTimeout
。
它可以在 settings.xml 中、测试脚本中或从
测试设置 - AUT 选项卡(仅限 Squish 6.4)。
https://doc.froglogic.com/squish/latest/rgs-squish.html#testSettings.waitForObjectTimeout-property
如果您希望超时取决于代码行,请通过添加超时(以毫秒为单位)作为 WaitForObject 函数的最后一个参数来修改调用。
例如,对于 4 秒的超时,请将代码更改为:
type(waitForObject(names.login_lineEditUserId_QLineEdit), "786")
至:
type(waitForObject(names.login_lineEditUserId_QLineEdit, 4000), "786")
它的工作方式与 WaitForObjectItem 和 WaitForObjectExists 相同。
注意:超时的默认值为 20 秒。
我对
settings.xml
和所有其他 AUT 设置进行了所有必要的更改(除了在两者之间物理上添加贪睡功能之外,没有任何对我有用的设置)。
目前我只使用
time.sleep(40)
,因为40是一个神奇的数字,你可以在全局文件中声明它们,并在每次你想使用这些对象时调用它。
需要明确的是:
Time.sleep(30)
// 这样系统会等待 30 秒再执行第 2 行 type(waitForObject(names.login_lineEditUserId_QLineEdit), "786")
// 避免使用坐标,因为如果对象或窗口移动这些位置,那么你的测试就会失败,通过映射你的对象,squish只会找到那些具有特定id的对象)不要忘记在程序开头添加
import time
。