appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
71 lines • 3.25 kB
JavaScript
;
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