当与 squishtest 模块一起使用时,Squish 测试函数总是通过
Squish test functions always pass when used with squishtest module
我们在 Windows 10 和 Python 3.8.7 上使用 Qt 6.6.2 的 Squish,运行 我们的测试使用 squishtest
模块和 Robot Framework 4.0。 1.
我们在使用 Squish API 提供的 test
函数时遇到问题,其中使用此类调用(例如 squishtest.test.imagePresent
)完成的任何验证都会通过。问题本身非常简单,可以查明尽管验证失败,但函数调用本身在没有引发异常的情况下通过了这一事实。这也可以从 squishrunner 提供的报告中得到验证,其中我们对传递的执行有 <scriptedVerificationResult type="FAIL" time="--">
。
问题是,我们能否以任何方式将实际验证结果传递给机器人,以便我们相应地通过测试?最好是实时而不是事后解析报告。
在 Squish 中这工作得很好
def main():
startApplication("AUT")
snooze(2)
test.imagePresent("image.png", {"tolerant": True, "threshold": 85},
waitForObjectExists(names.sceneContainer_GraphWidget))
但是对于 Robot,这总是过去的
# In testSuite.robot
*** Settings ***
Library MySquishLib
*** Test Cases ***
Test Image
Start AUT
Verify Image image.png {"tolerant": True, "threshold": 85} names.sceneContainer_GraphWidget
# In MySquishLib.py
import squishtest
import names
def start_aut():
squishtest.startApplication("AUT")
def verify_image(imageFile, imageParams, imageArea):
squishtest.test.imagePresent(imageFile, imageParams, imageArea)
test
函数不应在执行期间引发异常,以便即使单个 VP 失败也能继续测试。然而,该函数确实 return 一个布尔值,正如预期的那样。通过使用
def verify_image(imageFile, imageParams, imageArea):
if not squishtest.test.imagePresent(imageFile, imageParams, imageArea):
raise Exception("Image was not found")
我能够顺利通过机器人测试。
我们在 Windows 10 和 Python 3.8.7 上使用 Qt 6.6.2 的 Squish,运行 我们的测试使用 squishtest
模块和 Robot Framework 4.0。 1.
我们在使用 Squish API 提供的 test
函数时遇到问题,其中使用此类调用(例如 squishtest.test.imagePresent
)完成的任何验证都会通过。问题本身非常简单,可以查明尽管验证失败,但函数调用本身在没有引发异常的情况下通过了这一事实。这也可以从 squishrunner 提供的报告中得到验证,其中我们对传递的执行有 <scriptedVerificationResult type="FAIL" time="--">
。
问题是,我们能否以任何方式将实际验证结果传递给机器人,以便我们相应地通过测试?最好是实时而不是事后解析报告。
在 Squish 中这工作得很好
def main():
startApplication("AUT")
snooze(2)
test.imagePresent("image.png", {"tolerant": True, "threshold": 85},
waitForObjectExists(names.sceneContainer_GraphWidget))
但是对于 Robot,这总是过去的
# In testSuite.robot
*** Settings ***
Library MySquishLib
*** Test Cases ***
Test Image
Start AUT
Verify Image image.png {"tolerant": True, "threshold": 85} names.sceneContainer_GraphWidget
# In MySquishLib.py
import squishtest
import names
def start_aut():
squishtest.startApplication("AUT")
def verify_image(imageFile, imageParams, imageArea):
squishtest.test.imagePresent(imageFile, imageParams, imageArea)
test
函数不应在执行期间引发异常,以便即使单个 VP 失败也能继续测试。然而,该函数确实 return 一个布尔值,正如预期的那样。通过使用
def verify_image(imageFile, imageParams, imageArea):
if not squishtest.test.imagePresent(imageFile, imageParams, imageArea):
raise Exception("Image was not found")
我能够顺利通过机器人测试。