QF-Test允许我使用以下功能截取整个桌面的屏幕截图:
from imagewrapper import ImageWrapper
iw = ImageWrapper(rc)
screenshot = iw.grabScreenshot()怎样才能只截取浏览器的屏幕截图?
发布于 2014-12-19 06:33:55
出于完整性的考虑:
如果您正在测试应用程序,您还可以使用grabImage函数。此函数即使在组件被另一个窗口隐藏时也有效。不幸的是(直到现在),grabImage不能在网络上工作。
从imagewrapper import ImageWrapper iw = ImageWrapper(rc) image = iw.grabImage(rc.getComponent("myComponentId")) #这个方法还有一些可选的/附加的参数。在qftest脚本编辑器中,输入iw。然后按Ctrl+Space查看完整的“文档”。rc.logImage(image)
发布于 2014-11-12 17:13:15
使用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)https://stackoverflow.com/questions/26883034
复制相似问题