QF-Test 允许我截取整个桌面的屏幕截图:
from imagewrapper import ImageWrapper
iw = ImageWrapper(rc)
screenshot = iw.grabScreenshot()
如何仅截取浏览器的屏幕截图?
QF-Test 允许我截取整个桌面的屏幕截图:
from imagewrapper import ImageWrapper
iw = ImageWrapper(rc)
screenshot = iw.grabScreenshot()
如何仅截取浏览器的屏幕截图?
为了完整起见:
如果您正在测试 Java 应用程序,您也可以使用该grabImage
函数。即使组件被另一个窗口隐藏,此功能也有效。不幸的是(直到现在),grabImage
它不适用于 Web。
from imagewrapper import ImageWrapper
iw = ImageWrapper(rc)
image = iw.grabImage(rc.getComponent("myComponentId")) # this methods also has some optional/additional parameters. In the qftest script editor, type iw. and then press Ctrl+Space to see the full "documentation".
rc.logImage(image)
使用 Aaron Digulla 的脚本时,请记住,SUT 窗口必须位于前景/在屏幕上可见。有一些选项可以确保这一点[例如:“自动提升 SUT 窗口”+ 事件](参见:http ://www.qfs.de/qftest/manual/en/opt_play.html )。请记住,您还可以在运行时更改这些选项(请参阅:http ://www.qfs.de/qftest/manual/en/user_scripting.html#usec_scripting_options )。
使用DomNode API获取 DOM 中节点的几何形状。您可以使用这些来指定哪些应包含在屏幕截图中:
from imagewrapper import ImageWrapper
import os.path
iw = ImageWrapper(rc)
# Get root node of the DOM
doc = rc.getComponent("genericDocument")
root = doc.getRootElement()
# Get the geometry (x,y,width,height)
geometry = root.getLocationOnScreen()
# Use the geometry to limit the screenshot
screenshot = iw.grabScreenshot(*geometry)
# Optional: Save the screenshot on disk.
# Use a gloabl variable to set the folder where screenshots should be collected
folder = rc.lookup("screenshotFolder")
filename = os.path.join(folder, "name.png")
rc.logMessage('Saving screenshot as %s' % filename, report=True)
iw.savePng(filename, screenshot)
# Optional: Add screenshot to the log
rc.logImage(screenshot, "Login Screen", report=True)