index.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. /**
  4. * In this file we define all the commands which run against a particular webdriver session, but
  5. * do not belong in `./appium.ts` or `./storage.ts`.
  6. */
  7. const selenium_mock_1 = require("selenium-mock");
  8. const helpers_1 = require("./helpers");
  9. const appium_1 = require("./appium");
  10. const chromium_1 = require("./chromium");
  11. const storage_1 = require("./storage");
  12. exports.session = {
  13. element: {},
  14. sessionStorage: storage_1.storageFactory('session'),
  15. localStorage: storage_1.storageFactory('local'),
  16. appium: appium_1.appium,
  17. chromium: chromium_1.chromium,
  18. };
  19. exports.session.currentContext = helpers_1.getterFactory('context', 'currentContext');
  20. exports.session.selectContext = helpers_1.setterFactory('context', 'currentContext', 'name');
  21. exports.session.listContexts = helpers_1.constFactory('GET', 'contexts', ['WEBVIEW_1']);
  22. exports.session.uploadFile = helpers_1.noopFactory('file');
  23. exports.session.getNetworkConnection = helpers_1.getterFactory('network_connection', 'networkConnection');
  24. exports.session.setNetworkConnection = helpers_1.setterFactory('network_connection', 'networkConnection', 'type');
  25. exports.session.toggleAirplaneMode =
  26. new selenium_mock_1.Command('POST', 'appium/device/toggle_airplane_mode', (session) => {
  27. session.networkConnection ^= 1;
  28. });
  29. exports.session.toggleWiFi =
  30. new selenium_mock_1.Command('POST', 'appium/device/toggle_wifi', (session) => {
  31. session.networkConnection ^= 2;
  32. });
  33. exports.session.toggleData =
  34. new selenium_mock_1.Command('POST', 'appium/device/toggle_data', (session) => {
  35. session.networkConnection ^= 4;
  36. });
  37. exports.session.toggleLocationServices =
  38. new selenium_mock_1.Command('POST', 'appium/device/toggle_location_services', (session) => {
  39. session.locationEnabled = !session.locationEnabled;
  40. });
  41. exports.session.getGeolocation =
  42. new selenium_mock_1.Command('GET', '/location', (session) => {
  43. if (!session.locationEnabled) {
  44. throw 'Location services disabled';
  45. }
  46. return session.location;
  47. });
  48. exports.session.setGeolocation =
  49. new selenium_mock_1.Command('POST', '/location', (session, params) => {
  50. if (!session.locationEnabled) {
  51. throw 'Location services disabled';
  52. }
  53. session.location = params['location'];
  54. });
  55. exports.session.getOrientation = helpers_1.getterFactory('orientation');
  56. exports.session.setOrientation = helpers_1.setterFactory('orientation');
  57. exports.session.switchToParentFrame = helpers_1.noopFactory('frame/parent');
  58. exports.session.fullscreen = helpers_1.noopFactory('window/fullscreen');
  59. exports.session.performMultiAction = helpers_1.noopFactory('touch/multi/perform');
  60. exports.session.performTouchAction = helpers_1.noopFactory('touch/perform');
  61. exports.session.element.elementIdLocationInView = helpers_1.constFactory('GET', '/element/:id/location_in_view', { x: 0, y: 0 });
  62. //# sourceMappingURL=index.js.map