如何更改 Squish 中 waitForObject 函数使用的默认超时

问题描述 投票:0回答:3

用于 waitForObject 的函数如下。我希望每次使用此函数时都会等待默认的秒数。

def login():
    type(waitForObject(names.login_lineEditUserId_QLineEdit), "786")
python qt automated-tests squish
3个回答
7
投票

waitForObject()
的默认超时为
testSettings.waitForObjectTimeout
。 它可以在 settings.xml 中、测试脚本中或从 测试设置 - AUT 选项卡(仅限 Squish 6.4)。

https://doc.froglogic.com/squish/latest/rgs-squish.html#testSettings.waitForObjectTimeout-property


1
投票

如果您希望超时取决于代码行,请通过添加超时(以毫秒为单位)作为 WaitForObject 函数的最后一个参数来修改调用。

例如,对于 4 秒的超时,请将代码更改为:

type(waitForObject(names.login_lineEditUserId_QLineEdit), "786")

至:

type(waitForObject(names.login_lineEditUserId_QLineEdit, 4000), "786")

它的工作方式与 WaitForObjectItemWaitForObjectExists 相同。

注意:超时的默认值为 20 秒。


0
投票

我对

settings.xml
和所有其他 AUT 设置进行了所有必要的更改(除了在两者之间物理上添加贪睡功能之外,没有任何对我有用的设置)。

目前我只使用

time.sleep(40)
,因为40是一个神奇的数字,你可以在全局文件中声明它们,并在每次你想使用这些对象时调用它。

需要明确的是:

  1. Time.sleep(30)
    // 这样系统会等待 30 秒再执行第 2 行
  2. type(waitForObject(names.login_lineEditUserId_QLineEdit), "786")
    // 避免使用坐标,因为如果对象或窗口移动这些位置,那么你的测试就会失败,通过映射你的对象,squish只会找到那些具有特定id的对象)

不要忘记在程序开头添加

import time

© www.soinside.com 2019 - 2024. All rights reserved.