var Cu = Components.utils; var Ci = Components.interfaces; Cu.importGlobalProperties(['File']); const { Services } = Cu.import("resource://gre/modules/Services.jsm"); // Load a duplicated copy of the jsm to prevent messing with the currently running one var scope = {}; Services.scriptloader.loadSubScript("resource://gre/modules/Screenshot.jsm", scope); const { Screenshot } = scope; var index = -1; function next() { index++; if (index >= steps.length) { assert.ok(false, "Shouldn't get here!"); return; } try { steps[index](); } catch(ex) { assert.ok(false, "Caught exception: " + ex); } } var steps = [ function getScreenshot() { let screenshot = Screenshot.get(); assert.ok(screenshot instanceof File, "Screenshot.get() returns a File"); next(); }, function endOfTest() { sendAsyncMessage("finish"); } ]; next();