UNPKG

appium-xcuitest-driver

Version:

Appium driver for iOS using XCUITest for backend

71 lines 3.25 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const sinon_1 = __importDefault(require("sinon")); const driver_1 = require("../../../lib/driver"); const node_simctl_1 = require("node-simctl"); const chai_1 = require("chai"); describe('screenshots commands', function () { let driver; let proxyStub; let simctl; const base64PortraitResponse = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=='; beforeEach(function () { driver = new driver_1.XCUITestDriver({}); simctl = new node_simctl_1.Simctl(); driver._device = { simctl }; proxyStub = sinon_1.default.stub(driver, 'proxyCommand'); }); afterEach(function () { proxyStub.reset(); }); describe('getScreenshot', function () { describe('simulator', function () { let getScreenshotStub; beforeEach(function () { getScreenshotStub = sinon_1.default.stub(simctl, 'getScreenshot'); }); afterEach(function () { getScreenshotStub.reset(); }); it('should get a screenshot from WDA if no errors are detected', async function () { proxyStub.returns(base64PortraitResponse); await driver.getScreenshot(); (0, chai_1.expect)(proxyStub.calledOnce).to.be.true; (0, chai_1.expect)(proxyStub.firstCall.args[0]).to.eql('/screenshot'); (0, chai_1.expect)(proxyStub.firstCall.args[1]).to.eql('GET'); (0, chai_1.expect)(getScreenshotStub.notCalled).to.be.true; }); it('should get a screenshot from simctl if WDA call fails and Xcode version >= 8.1', async function () { proxyStub.returns(null); getScreenshotStub.returns(base64PortraitResponse); driver.xcodeVersion = { versionFloat: 8.3, }; const result = await driver.getScreenshot(); (0, chai_1.expect)(result).to.equal(base64PortraitResponse); (0, chai_1.expect)(proxyStub.calledOnce).to.be.true; (0, chai_1.expect)(getScreenshotStub.calledOnce).to.be.true; }); }); describe('real device', function () { it('should get a screenshot from WDA if no errors are detected', async function () { proxyStub.returns(base64PortraitResponse); const device = driver.device; try { driver._device = { devicectl: true }; await driver.getScreenshot(); } finally { driver._device = device; } (0, chai_1.expect)(proxyStub.calledOnce).to.be.true; (0, chai_1.expect)(proxyStub.firstCall.args[0]).to.eql('/screenshot'); (0, chai_1.expect)(proxyStub.firstCall.args[1]).to.eql('GET'); }); }); }); }); //# sourceMappingURL=screenshots-specs.js.map