code: def test_frame_buffer_helper():
      canvas = FakeCanvas()
      gl_context = OffscreenContext()
      fbh = FrameBufferHelper()
  
      gl_context.make_current()
      fbh.set_physical_size(43, 67)
      with fbh:
          gloo.set_clear_color((0, 0.5, 1))
          gloo.clear()
          canvas.flush()
          array = fbh.get_frame()
  
      assert array.shape == (67, 43, 4)
      assert np.all(array[:, :, 0] == 0)
      assert np.all(array[:, :, 1] == 128)
      assert np.all(array[:, :, 2] == 255)
  
file_path: vispy/vispy/app/backends/tests/test_offscreen_util.py
imports: from vispy.app.backends._offscreen_util import OffscreenContext, FrameBufferHelper
  from vispy.testing import run_tests_if_main, requires_application
  from vispy import gloo
  import numpy
label_desc: Use image node_id 2 for calling a global function with example usage: test_frame_buffer_helper() without return types