appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
59 lines • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.commands = void 0;
const commands = {};
exports.commands = commands;
/**
* @typedef {Object} GeolocationInfo
* @property {number|null} latitude Measurement of distance north or south of the Equator, or
* `null` if {@linkcode XCUITestDriver.mobileSetSimulatedLocation} has not been called or {@linkcode
* resetSimulatedLocation} has been called.
* @property {number|null} longitude Measurement of distance east or west of the prime meridian, or
* `null` if {@linkcode XCUITestDriver.mobileSetSimulatedLocation} has not been called or {@linkcode
* resetSimulatedLocation} has been called.
*/
/**
* Retrieves the simulated geolocation value.
* Only works since Xcode 14.3/iOS 16.4
*
* @returns {Promise<GeolocationInfo>}
* @throws {Error} If the device under test does not support gelolocation simulation.
* @since 4.18
* @this {XCUITestDriver}
*/
commands.mobileGetSimulatedLocation = async function mobileGetSimulatedLocation() {
return await this.proxyCommand('/wda/simulatedLocation', 'GET');
};
/**
* Sets simulated geolocation value.
* Only works since Xcode 14.3/iOS 16.4
*
* @param {number} latitude
* @param {number} longitude
* @returns {Promise<void>}
* @throws {Error} If the device under test does not support gelolocation simulation.
* @since 4.18
* @this {XCUITestDriver}
*/
commands.mobileSetSimulatedLocation = async function mobileSetSimulatedLocation(latitude, longitude) {
return await this.proxyCommand('/wda/simulatedLocation', 'POST', { latitude, longitude });
};
/**
* Resets simulated geolocation value.
* Only works since Xcode 14.3/iOS 16.4.
* ! Do not forget to reset the simulated geolocation value after your automated test is finished.
* ! If the value is not reset explcitly then the simulated one will remain until the next device restart.
*
* @returns {Promise<void>}
* @throws {Error} If the device under test does not support gelolocation simulation.
* @since 4.18
* @this {XCUITestDriver}
*/
commands.mobileResetSimulatedLocation = async function mobileResetSimulatedLocation() {
return await this.proxyCommand('/wda/simulatedLocation', 'DELETE');
};
exports.default = commands;
/**
* @typedef {import('../driver').XCUITestDriver} XCUITestDriver
*/
//# sourceMappingURL=geolocation.js.map