appium-xcuitest-driver 10.18.0 → 10.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/npm-shrinkwrap.json +5 -5
  3. package/package.json +3 -2
  4. package/build/test/functional/basic/alert-e2e-specs.d.ts +0 -2
  5. package/build/test/functional/basic/alert-e2e-specs.d.ts.map +0 -1
  6. package/build/test/functional/basic/alert-e2e-specs.js +0 -129
  7. package/build/test/functional/basic/alert-e2e-specs.js.map +0 -1
  8. package/build/test/functional/basic/basic-e2e-specs.d.ts +0 -2
  9. package/build/test/functional/basic/basic-e2e-specs.d.ts.map +0 -1
  10. package/build/test/functional/basic/basic-e2e-specs.js +0 -268
  11. package/build/test/functional/basic/basic-e2e-specs.js.map +0 -1
  12. package/build/test/functional/basic/element-e2e-specs.d.ts +0 -2
  13. package/build/test/functional/basic/element-e2e-specs.d.ts.map +0 -1
  14. package/build/test/functional/basic/element-e2e-specs.js +0 -354
  15. package/build/test/functional/basic/element-e2e-specs.js.map +0 -1
  16. package/build/test/functional/basic/find-e2e-specs.d.ts +0 -2
  17. package/build/test/functional/basic/find-e2e-specs.d.ts.map +0 -1
  18. package/build/test/functional/basic/find-e2e-specs.js +0 -434
  19. package/build/test/functional/basic/find-e2e-specs.js.map +0 -1
  20. package/build/test/functional/basic/gesture-e2e-specs.d.ts +0 -2
  21. package/build/test/functional/basic/gesture-e2e-specs.d.ts.map +0 -1
  22. package/build/test/functional/basic/gesture-e2e-specs.js +0 -211
  23. package/build/test/functional/basic/gesture-e2e-specs.js.map +0 -1
  24. package/build/test/functional/desired.d.ts +0 -26
  25. package/build/test/functional/desired.d.ts.map +0 -1
  26. package/build/test/functional/desired.js +0 -124
  27. package/build/test/functional/desired.js.map +0 -1
  28. package/build/test/functional/device/accessibility-e2e-specs.d.ts +0 -2
  29. package/build/test/functional/device/accessibility-e2e-specs.d.ts.map +0 -1
  30. package/build/test/functional/device/accessibility-e2e-specs.js +0 -117
  31. package/build/test/functional/device/accessibility-e2e-specs.js.map +0 -1
  32. package/build/test/functional/device/file-movement-e2e-specs.d.ts +0 -2
  33. package/build/test/functional/device/file-movement-e2e-specs.d.ts.map +0 -1
  34. package/build/test/functional/device/file-movement-e2e-specs.js +0 -141
  35. package/build/test/functional/device/file-movement-e2e-specs.js.map +0 -1
  36. package/build/test/functional/device/otherApps-e2e-specs.d.ts +0 -2
  37. package/build/test/functional/device/otherApps-e2e-specs.d.ts.map +0 -1
  38. package/build/test/functional/device/otherApps-e2e-specs.js +0 -66
  39. package/build/test/functional/device/otherApps-e2e-specs.js.map +0 -1
  40. package/build/test/functional/device/passwords-e2e-specs.d.ts +0 -2
  41. package/build/test/functional/device/passwords-e2e-specs.d.ts.map +0 -1
  42. package/build/test/functional/device/passwords-e2e-specs.js +0 -91
  43. package/build/test/functional/device/passwords-e2e-specs.js.map +0 -1
  44. package/build/test/functional/device/performance-e2e-specs.d.ts +0 -2
  45. package/build/test/functional/device/performance-e2e-specs.d.ts.map +0 -1
  46. package/build/test/functional/device/performance-e2e-specs.js +0 -72
  47. package/build/test/functional/device/performance-e2e-specs.js.map +0 -1
  48. package/build/test/functional/driver/driver-e2e-specs.d.ts +0 -2
  49. package/build/test/functional/driver/driver-e2e-specs.d.ts.map +0 -1
  50. package/build/test/functional/driver/driver-e2e-specs.js +0 -296
  51. package/build/test/functional/driver/driver-e2e-specs.js.map +0 -1
  52. package/build/test/functional/helpers/element.d.ts +0 -4
  53. package/build/test/functional/helpers/element.d.ts.map +0 -1
  54. package/build/test/functional/helpers/element.js +0 -8
  55. package/build/test/functional/helpers/element.js.map +0 -1
  56. package/build/test/functional/helpers/ports.d.ts +0 -6
  57. package/build/test/functional/helpers/ports.d.ts.map +0 -1
  58. package/build/test/functional/helpers/ports.js +0 -29
  59. package/build/test/functional/helpers/ports.js.map +0 -1
  60. package/build/test/functional/helpers/session.d.ts +0 -7
  61. package/build/test/functional/helpers/session.d.ts.map +0 -1
  62. package/build/test/functional/helpers/session.js +0 -39
  63. package/build/test/functional/helpers/session.js.map +0 -1
  64. package/build/test/functional/helpers/simulator.d.ts +0 -12
  65. package/build/test/functional/helpers/simulator.d.ts.map +0 -1
  66. package/build/test/functional/helpers/simulator.js +0 -51
  67. package/build/test/functional/helpers/simulator.js.map +0 -1
  68. package/build/test/functional/long/typing-stress-e2e-specs.d.ts +0 -2
  69. package/build/test/functional/long/typing-stress-e2e-specs.d.ts.map +0 -1
  70. package/build/test/functional/long/typing-stress-e2e-specs.js +0 -84
  71. package/build/test/functional/long/typing-stress-e2e-specs.js.map +0 -1
  72. package/build/test/functional/tv/tvos-e2e-specs.d.ts +0 -2
  73. package/build/test/functional/tv/tvos-e2e-specs.d.ts.map +0 -1
  74. package/build/test/functional/tv/tvos-e2e-specs.js +0 -83
  75. package/build/test/functional/tv/tvos-e2e-specs.js.map +0 -1
  76. package/build/test/functional/web/helpers.d.ts +0 -28
  77. package/build/test/functional/web/helpers.d.ts.map +0 -1
  78. package/build/test/functional/web/helpers.js +0 -137
  79. package/build/test/functional/web/helpers.js.map +0 -1
  80. package/build/test/functional/web/safari-alerts-e2e-specs.d.ts +0 -2
  81. package/build/test/functional/web/safari-alerts-e2e-specs.d.ts.map +0 -1
  82. package/build/test/functional/web/safari-alerts-e2e-specs.js +0 -109
  83. package/build/test/functional/web/safari-alerts-e2e-specs.js.map +0 -1
  84. package/build/test/functional/web/safari-basic-e2e-specs.d.ts +0 -2
  85. package/build/test/functional/web/safari-basic-e2e-specs.d.ts.map +0 -1
  86. package/build/test/functional/web/safari-basic-e2e-specs.js +0 -425
  87. package/build/test/functional/web/safari-basic-e2e-specs.js.map +0 -1
  88. package/build/test/functional/web/safari-execute-e2e-specs.d.ts +0 -2
  89. package/build/test/functional/web/safari-execute-e2e-specs.d.ts.map +0 -1
  90. package/build/test/functional/web/safari-execute-e2e-specs.js +0 -167
  91. package/build/test/functional/web/safari-execute-e2e-specs.js.map +0 -1
  92. package/build/test/functional/web/safari-nativewebtap-e2e-specs.d.ts +0 -2
  93. package/build/test/functional/web/safari-nativewebtap-e2e-specs.d.ts.map +0 -1
  94. package/build/test/functional/web/safari-nativewebtap-e2e-specs.js +0 -323
  95. package/build/test/functional/web/safari-nativewebtap-e2e-specs.js.map +0 -1
  96. package/build/test/functional/web/safari-ssl-e2e-specs.d.ts +0 -2
  97. package/build/test/functional/web/safari-ssl-e2e-specs.d.ts.map +0 -1
  98. package/build/test/functional/web/safari-ssl-e2e-specs.js +0 -131
  99. package/build/test/functional/web/safari-ssl-e2e-specs.js.map +0 -1
  100. package/build/test/functional/web/safari-window-e2e-specs.d.ts +0 -2
  101. package/build/test/functional/web/safari-window-e2e-specs.d.ts.map +0 -1
  102. package/build/test/functional/web/safari-window-e2e-specs.js +0 -263
  103. package/build/test/functional/web/safari-window-e2e-specs.js.map +0 -1
  104. package/build/test/setup.d.ts +0 -19
  105. package/build/test/setup.d.ts.map +0 -1
  106. package/build/test/setup.js +0 -117
  107. package/build/test/setup.js.map +0 -1
  108. package/build/test/unit/app-infos-cache-specs.d.ts +0 -2
  109. package/build/test/unit/app-infos-cache-specs.d.ts.map +0 -1
  110. package/build/test/unit/app-infos-cache-specs.js +0 -101
  111. package/build/test/unit/app-infos-cache-specs.js.map +0 -1
  112. package/build/test/unit/app-utils-specs.d.ts +0 -2
  113. package/build/test/unit/app-utils-specs.d.ts.map +0 -1
  114. package/build/test/unit/app-utils-specs.js +0 -131
  115. package/build/test/unit/app-utils-specs.js.map +0 -1
  116. package/build/test/unit/commands/activeAppInfo-specs.d.ts +0 -2
  117. package/build/test/unit/commands/activeAppInfo-specs.d.ts.map +0 -1
  118. package/build/test/unit/commands/activeAppInfo-specs.js +0 -74
  119. package/build/test/unit/commands/activeAppInfo-specs.js.map +0 -1
  120. package/build/test/unit/commands/alert-specs.d.ts +0 -2
  121. package/build/test/unit/commands/alert-specs.d.ts.map +0 -1
  122. package/build/test/unit/commands/alert-specs.js +0 -111
  123. package/build/test/unit/commands/alert-specs.js.map +0 -1
  124. package/build/test/unit/commands/context-specs.d.ts +0 -2
  125. package/build/test/unit/commands/context-specs.d.ts.map +0 -1
  126. package/build/test/unit/commands/context-specs.js +0 -119
  127. package/build/test/unit/commands/context-specs.js.map +0 -1
  128. package/build/test/unit/commands/deviceinfo-specs.d.ts +0 -2
  129. package/build/test/unit/commands/deviceinfo-specs.d.ts.map +0 -1
  130. package/build/test/unit/commands/deviceinfo-specs.js +0 -67
  131. package/build/test/unit/commands/deviceinfo-specs.js.map +0 -1
  132. package/build/test/unit/commands/element-specs.d.ts +0 -2
  133. package/build/test/unit/commands/element-specs.d.ts.map +0 -1
  134. package/build/test/unit/commands/element-specs.js +0 -419
  135. package/build/test/unit/commands/element-specs.js.map +0 -1
  136. package/build/test/unit/commands/file-movement-specs.d.ts +0 -2
  137. package/build/test/unit/commands/file-movement-specs.d.ts.map +0 -1
  138. package/build/test/unit/commands/file-movement-specs.js +0 -81
  139. package/build/test/unit/commands/file-movement-specs.js.map +0 -1
  140. package/build/test/unit/commands/find-specs.d.ts +0 -2
  141. package/build/test/unit/commands/find-specs.d.ts.map +0 -1
  142. package/build/test/unit/commands/find-specs.js +0 -106
  143. package/build/test/unit/commands/find-specs.js.map +0 -1
  144. package/build/test/unit/commands/general-specs.d.ts +0 -2
  145. package/build/test/unit/commands/general-specs.d.ts.map +0 -1
  146. package/build/test/unit/commands/general-specs.js +0 -154
  147. package/build/test/unit/commands/general-specs.js.map +0 -1
  148. package/build/test/unit/commands/gesture-specs.d.ts +0 -2
  149. package/build/test/unit/commands/gesture-specs.d.ts.map +0 -1
  150. package/build/test/unit/commands/gesture-specs.js +0 -263
  151. package/build/test/unit/commands/gesture-specs.js.map +0 -1
  152. package/build/test/unit/commands/location-specs.d.ts +0 -2
  153. package/build/test/unit/commands/location-specs.d.ts.map +0 -1
  154. package/build/test/unit/commands/location-specs.js +0 -141
  155. package/build/test/unit/commands/location-specs.js.map +0 -1
  156. package/build/test/unit/commands/pasteboard-specs.d.ts +0 -2
  157. package/build/test/unit/commands/pasteboard-specs.d.ts.map +0 -1
  158. package/build/test/unit/commands/pasteboard-specs.js +0 -65
  159. package/build/test/unit/commands/pasteboard-specs.js.map +0 -1
  160. package/build/test/unit/commands/proxy-helper-specs.d.ts +0 -2
  161. package/build/test/unit/commands/proxy-helper-specs.d.ts.map +0 -1
  162. package/build/test/unit/commands/proxy-helper-specs.js +0 -88
  163. package/build/test/unit/commands/proxy-helper-specs.js.map +0 -1
  164. package/build/test/unit/commands/screenshots-specs.d.ts +0 -2
  165. package/build/test/unit/commands/screenshots-specs.d.ts.map +0 -1
  166. package/build/test/unit/commands/screenshots-specs.js +0 -71
  167. package/build/test/unit/commands/screenshots-specs.js.map +0 -1
  168. package/build/test/unit/commands/session-specs.d.ts +0 -2
  169. package/build/test/unit/commands/session-specs.d.ts.map +0 -1
  170. package/build/test/unit/commands/session-specs.js +0 -49
  171. package/build/test/unit/commands/session-specs.js.map +0 -1
  172. package/build/test/unit/commands/simctl-specs.d.ts +0 -2
  173. package/build/test/unit/commands/simctl-specs.d.ts.map +0 -1
  174. package/build/test/unit/commands/simctl-specs.js +0 -54
  175. package/build/test/unit/commands/simctl-specs.js.map +0 -1
  176. package/build/test/unit/commands/source-specs.d.ts +0 -2
  177. package/build/test/unit/commands/source-specs.d.ts.map +0 -1
  178. package/build/test/unit/commands/source-specs.js +0 -55
  179. package/build/test/unit/commands/source-specs.js.map +0 -1
  180. package/build/test/unit/commands/ssl-certificate-specs.d.ts +0 -2
  181. package/build/test/unit/commands/ssl-certificate-specs.d.ts.map +0 -1
  182. package/build/test/unit/commands/ssl-certificate-specs.js +0 -16
  183. package/build/test/unit/commands/ssl-certificate-specs.js.map +0 -1
  184. package/build/test/unit/commands/xctest-specs.d.ts +0 -2
  185. package/build/test/unit/commands/xctest-specs.d.ts.map +0 -1
  186. package/build/test/unit/commands/xctest-specs.js +0 -116
  187. package/build/test/unit/commands/xctest-specs.js.map +0 -1
  188. package/build/test/unit/css-converter-specs.d.ts +0 -2
  189. package/build/test/unit/css-converter-specs.d.ts.map +0 -1
  190. package/build/test/unit/css-converter-specs.js +0 -99
  191. package/build/test/unit/css-converter-specs.js.map +0 -1
  192. package/build/test/unit/device-connections-factory-specs.d.ts +0 -2
  193. package/build/test/unit/device-connections-factory-specs.d.ts.map +0 -1
  194. package/build/test/unit/device-connections-factory-specs.js +0 -88
  195. package/build/test/unit/device-connections-factory-specs.js.map +0 -1
  196. package/build/test/unit/driver-specs.d.ts +0 -2
  197. package/build/test/unit/driver-specs.d.ts.map +0 -1
  198. package/build/test/unit/driver-specs.js +0 -358
  199. package/build/test/unit/driver-specs.js.map +0 -1
  200. package/build/test/unit/helpers.d.ts +0 -2
  201. package/build/test/unit/helpers.d.ts.map +0 -1
  202. package/build/test/unit/helpers.js +0 -5
  203. package/build/test/unit/helpers.js.map +0 -1
  204. package/build/test/unit/language-specs.d.ts +0 -2
  205. package/build/test/unit/language-specs.d.ts.map +0 -1
  206. package/build/test/unit/language-specs.js +0 -159
  207. package/build/test/unit/language-specs.js.map +0 -1
  208. package/build/test/unit/logs-helpers-specs.d.ts +0 -2
  209. package/build/test/unit/logs-helpers-specs.d.ts.map +0 -1
  210. package/build/test/unit/logs-helpers-specs.js +0 -71
  211. package/build/test/unit/logs-helpers-specs.js.map +0 -1
  212. package/build/test/unit/processargs-specs.d.ts +0 -2
  213. package/build/test/unit/processargs-specs.d.ts.map +0 -1
  214. package/build/test/unit/processargs-specs.js +0 -87
  215. package/build/test/unit/processargs-specs.js.map +0 -1
  216. package/build/test/unit/real-device-management-specs.d.ts +0 -2
  217. package/build/test/unit/real-device-management-specs.d.ts.map +0 -1
  218. package/build/test/unit/real-device-management-specs.js +0 -151
  219. package/build/test/unit/real-device-management-specs.js.map +0 -1
  220. package/build/test/unit/simulator-management-specs.d.ts +0 -2
  221. package/build/test/unit/simulator-management-specs.d.ts.map +0 -1
  222. package/build/test/unit/simulator-management-specs.js +0 -143
  223. package/build/test/unit/simulator-management-specs.js.map +0 -1
  224. package/build/test/unit/utils-specs.d.ts +0 -2
  225. package/build/test/unit/utils-specs.d.ts.map +0 -1
  226. package/build/test/unit/utils-specs.js +0 -132
  227. package/build/test/unit/utils-specs.js.map +0 -1
@@ -1,425 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const bluebird_1 = __importDefault(require("bluebird"));
40
- const session_1 = require("../helpers/session");
41
- const desired_1 = require("../desired");
42
- const helpers_1 = require("./helpers");
43
- const support_1 = require("appium/support");
44
- const asyncbox_1 = require("asyncbox");
45
- const chai_1 = __importStar(require("chai"));
46
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
47
- chai_1.default.use(chai_as_promised_1.default);
48
- const DEFAULT_CAPS = (0, desired_1.amendCapabilities)(desired_1.SAFARI_CAPS, {
49
- 'appium:safariInitialUrl': helpers_1.GUINEA_PIG_PAGE,
50
- // 'appium:safariLogAllCommunication': true,
51
- // adding 'safariIgnoreWebHostnames' to validate that adding blacklist URL's doesn't break anything
52
- 'appium:safariIgnoreWebHostnames': 'www.yahoo.com,www.bing.com,www.google.com,about:blank',
53
- });
54
- describe('Safari - basics -', function () {
55
- this.timeout(session_1.MOCHA_TIMEOUT);
56
- let driver;
57
- describe('basics', function () {
58
- before(async function () {
59
- const caps = (0, desired_1.amendCapabilities)(DEFAULT_CAPS, {
60
- 'appium:safariIgnoreFraudWarning': false,
61
- 'appium:showSafariConsoleLog': true,
62
- });
63
- driver = await (0, session_1.initSession)(caps);
64
- });
65
- after(async function () {
66
- await (0, session_1.deleteSession)();
67
- });
68
- // TODO: in appium-remote-debugger, figure out how to check if a page is loaded
69
- describe.skip('page load timeouts', function () {
70
- describe('small timeout, slow page load', function () {
71
- it('should go to the requested page', async function () {
72
- await driver.setTimeout({ pageLoad: 3000 });
73
- await (0, helpers_1.openPage)(driver, `${helpers_1.GUINEA_PIG_PAGE}?delay=30000`);
74
- // the page should not have time to load
75
- await (0, chai_1.expect)(driver.getPageSource()).to.eventually.include(`Let's browse!`);
76
- });
77
- });
78
- describe('no timeout, very slow page', function () {
79
- const startMs = Date.now();
80
- it('should go to the requested page', async function () {
81
- // await driver.setCommandTimeout(12000);
82
- await driver.setTimeout({ pageLoad: 0 });
83
- await (0, helpers_1.openPage)(driver, `${helpers_1.GUINEA_PIG_PAGE}?delay=3000`);
84
- // the page should load after 70000
85
- await (0, chai_1.expect)(driver.getPageSource()).to.eventually.include('I am some page content');
86
- (0, chai_1.expect)(Date.now() - startMs).to.be.above(3000);
87
- });
88
- });
89
- });
90
- describe('context', function () {
91
- it('should be able to get current context initially', async function () {
92
- await bluebird_1.default.delay(500);
93
- await (0, chai_1.expect)(driver.getContext()).to.eventually.be.ok;
94
- });
95
- it('should get full context list through mobile: getContexts', async function () {
96
- const ctxs = await driver.executeScript('mobile: getContexts', []);
97
- const webviews = ctxs.filter((ctx) => ctx.id !== 'NATIVE_APP');
98
- (0, chai_1.expect)(webviews.every((ctx) => support_1.util.hasValue(ctx.title) && support_1.util.hasValue(ctx.url))).to.be.true;
99
- });
100
- });
101
- describe('implicit wait', function () {
102
- after(async function () {
103
- await driver.setTimeout({ implicit: 0 });
104
- });
105
- it('should set the implicit wait for finding web elements', async function () {
106
- await driver.setTimeout({ implicit: 5000 });
107
- const before = new Date().getTime();
108
- (0, chai_1.expect)((await driver.$('<dsfsdfsdfdsfsd />')).error.error).to.eql('no such element');
109
- const after = new Date().getTime();
110
- (0, chai_1.expect)(after - before >= 5 * 1000).to.be.ok;
111
- });
112
- });
113
- describe('window title', function () {
114
- it('should return a valid title on web view', async function () {
115
- await (0, chai_1.expect)(driver.getTitle()).to.eventually.include('I am a page title');
116
- });
117
- });
118
- describe('element handling', function () {
119
- beforeEach(async function () {
120
- await (0, helpers_1.openPage)(driver, helpers_1.GUINEA_PIG_PAGE);
121
- });
122
- it('should find a web element in the web view', async function () {
123
- (0, chai_1.expect)(await driver.$('#i_am_an_id')).to.exist;
124
- });
125
- it('should find multiple web elements in the web view', async function () {
126
- (0, chai_1.expect)(await driver.$$('<a />')).to.have.length.at.least(5);
127
- });
128
- it('should fail gracefully to find multiple missing web elements in the web view', async function () {
129
- (0, chai_1.expect)(await driver.$$('<blar />')).to.have.length(0);
130
- });
131
- it('should find element from another element', async function () {
132
- const el = await driver.$('.border');
133
- (0, chai_1.expect)(await el.$('./form')).to.exist;
134
- });
135
- it('should be able to click links', async function () {
136
- const el = await driver.$('=i am a link');
137
- await el.click();
138
- await (0, helpers_1.spinTitleEquals)(driver, 'I am another page title');
139
- });
140
- it('should retrieve an element attribute', async function () {
141
- const el = await driver.$('#i_am_an_id');
142
- await (0, chai_1.expect)(el.getAttribute('id')).to.eventually.equal('i_am_an_id');
143
- (0, chai_1.expect)(await el.getAttribute('blar')).to.be.null;
144
- });
145
- it('should retrieve implicit attributes', async function () {
146
- const els = await driver.$$('<option />');
147
- (0, chai_1.expect)(els).to.have.length(3);
148
- await (0, chai_1.expect)(els[2].getAttribute('index')).to.eventually.equal('2');
149
- });
150
- it('should retrieve an element text', async function () {
151
- const el = await driver.$('#i_am_an_id');
152
- await (0, chai_1.expect)(el.getText()).to.eventually.equal('I am a div');
153
- });
154
- // TODO: figure out what equality means here
155
- it.skip('should check if two elements are equal', async function () {
156
- const el1 = await driver.$('#i_am_an_id');
157
- const el2 = await driver.$('#i_am_an_id');
158
- (0, chai_1.expect)(el1).to.equal(el2);
159
- });
160
- it('should return the page source', async function () {
161
- const source = await driver.getPageSource();
162
- (0, chai_1.expect)(source).to.include('<html');
163
- (0, chai_1.expect)(source).to.include('I am a page title');
164
- (0, chai_1.expect)(source).to.include('i appear 3 times');
165
- (0, chai_1.expect)(source).to.include('</html>');
166
- });
167
- it('should get current url', async function () {
168
- await (0, chai_1.expect)(driver.getUrl()).to.eventually.include('test/guinea-pig');
169
- });
170
- it('should get updated URL without breaking window handles', async function () {
171
- const el = await driver.$('=i am an anchor link');
172
- await el.click();
173
- // allow the click to happen
174
- await bluebird_1.default.delay(500);
175
- await (0, chai_1.expect)(driver.getUrl()).to.eventually.contain('#anchor');
176
- await (0, chai_1.expect)(driver.getWindowHandles()).to.eventually.be.ok;
177
- });
178
- it('should send keystrokes to specific element', async function () {
179
- const el = await driver.$('#comments');
180
- await el.clearValue();
181
- await el.setValue('hello world');
182
- (0, chai_1.expect)(['how world', 'hello world']).to.include((await el.getAttribute('value')).toLowerCase());
183
- });
184
- it('should send keystrokes to active element', async function () {
185
- const el = await driver.$('#comments');
186
- await el.click();
187
- await el.setValue('hello world');
188
- (0, chai_1.expect)(['how world', 'hello world']).to.include((await el.getAttribute('value')).toLowerCase());
189
- });
190
- it('should clear element', async function () {
191
- const el = await driver.$('#comments');
192
- await el.setValue('hello world');
193
- await (0, chai_1.expect)(el.getAttribute('value')).to.eventually.have.length.above(0);
194
- await el.clearValue();
195
- await (0, chai_1.expect)(el.getAttribute('value')).to.eventually.equal('');
196
- });
197
- it('should say whether an input is selected', async function () {
198
- const el = await driver.$('#unchecked_checkbox');
199
- await (0, chai_1.expect)(el.isSelected()).to.eventually.not.be.ok;
200
- await el.click();
201
- await (0, asyncbox_1.retryInterval)(10, 1000, async function () {
202
- await (0, chai_1.expect)(el.isSelected()).to.eventually.be.ok;
203
- });
204
- });
205
- it('should be able to retrieve css properties', async function () {
206
- const el = await driver.$('#fbemail');
207
- (0, chai_1.expect)((await el.getCSSProperty('background-color')).value).to.contain('rgb');
208
- });
209
- it('should retrieve an element size', async function () {
210
- const el = await driver.$('#i_am_an_id');
211
- const size = await el.getSize();
212
- (0, chai_1.expect)(size.width).to.be.above(0);
213
- (0, chai_1.expect)(size.height).to.be.above(0);
214
- });
215
- it('should get location of an element', async function () {
216
- const el = await driver.$('#fbemail');
217
- const loc = await el.getLocation();
218
- (0, chai_1.expect)(loc.x).to.be.above(0);
219
- (0, chai_1.expect)(loc.y).to.be.above(0);
220
- });
221
- // getTagName not supported by mjwp
222
- it.skip('should retrieve tag name of an element', async function () {
223
- const el = await driver.$('#fbemail');
224
- const a = await driver.$('<a />');
225
- await (0, chai_1.expect)(el.getTagName()).to.eventually.equal('input');
226
- await (0, chai_1.expect)(a.getTagName()).to.eventually.equal('a');
227
- });
228
- it('should retrieve a window size', async function () {
229
- const size = await driver.getWindowRect();
230
- (0, chai_1.expect)(size.height).to.be.above(0);
231
- (0, chai_1.expect)(size.width).to.be.above(0);
232
- });
233
- // TODO: Update for WdIO compatibility
234
- it.skip('should submit a form', async function () {
235
- const el = await driver.$('#comments');
236
- const form = await driver.$('#jumpContact');
237
- await el.setValue('This is a comment');
238
- await form.submit();
239
- await (0, helpers_1.spinWait)(async function () {
240
- const comments = await driver.$('#your_comments');
241
- await (0, chai_1.expect)(comments.getText()).to.eventually.equal('Your comments: This is a comment');
242
- });
243
- });
244
- it('should return true when the element is displayed', async function () {
245
- const el = await driver.$('=i am a link');
246
- await (0, chai_1.expect)(el.isDisplayed()).to.eventually.be.ok;
247
- });
248
- it('should return false when the element is not displayed', async function () {
249
- const el = await driver.$('#invisible div');
250
- await (0, chai_1.expect)(el.isDisplayed()).to.eventually.not.be.ok;
251
- });
252
- it('should return true when the element is enabled', async function () {
253
- const el = await driver.$('=i am a link');
254
- await (0, chai_1.expect)(el.isEnabled()).to.eventually.be.ok;
255
- });
256
- it('should return false when the element is not enabled', async function () {
257
- await driver.executeScript(`$('#fbemail').attr('disabled', 'disabled');`, []);
258
- const el = await driver.$('#fbemail');
259
- await (0, chai_1.expect)(el.isEnabled()).to.eventually.not.be.ok;
260
- });
261
- it('should return the active element', async function () {
262
- const testText = 'hi there';
263
- const el = await driver.$('#i_am_a_textbox');
264
- await el.setValue(testText);
265
- const activeElId = await driver.getActiveElement();
266
- const activeEl = await driver.$(activeElId);
267
- await (0, chai_1.expect)(activeEl.getAttribute('value')).to.eventually.equal(testText);
268
- });
269
- it('should properly navigate to anchor', async function () {
270
- const el = await driver.$('=i am an anchor link');
271
- await el.click();
272
- // let the click happen
273
- await bluebird_1.default.delay(500);
274
- const url = await driver.getUrl();
275
- await (0, helpers_1.openPage)(driver, url);
276
- await (0, chai_1.expect)(driver.getUrl()).to.eventually.include('#anchor');
277
- });
278
- it('should be able to refresh', async function () {
279
- await driver.refresh();
280
- });
281
- });
282
- // TODO: Update for WdIO compatibility
283
- // describe('console logging', function () {
284
- // beforeEach(async function () {
285
- // // get the logs to clear anything out
286
- // await driver.log('safariConsole');
287
- // await driver.get(GUINEA_PIG_SCROLLABLE_PAGE);
288
- // });
289
- // // there can be other things logged, so check that the text is there somewhere
290
- // function checkTexts (logs, expectedTexts) {
291
- // const logText = _.map(logs, (el) => el.message || el.text).join(',');
292
- // for (const line of expectedTexts) {
293
- // logText.should.include(line);
294
- // }
295
- // }
296
- // it('should get console logs for JS on the page', async function () {
297
- // // reload the page to execute JS
298
- // await openPage(driver, GUINEA_PIG_PAGE);
299
- // const logs = await driver.log('safariConsole');
300
- // checkTexts(logs, ['Hello from Appium', 'Loading guinea-pig page', 'Done']);
301
- // });
302
- // it('should get console logs for JS on the page with error', async function () {
303
- // // reload the page to execute JS
304
- // await openPage(driver, `${GUINEA_PIG_PAGE}?throwError=xcuitest-error`);
305
- // const logs = await driver.log('safariConsole');
306
- // checkTexts(logs, ['Hello from Appium', 'Loading guinea-pig page', 'Done', 'JavaScript Error: xcuitest-error']);
307
- // });
308
- // it('should get console logs for inserted JS', async function () {
309
- // const strings = [
310
- // 'Log something to debug',
311
- // 'Log something to warn',
312
- // 'Log something to error',
313
- // ];
314
- // for (const line of strings) {
315
- // await driver.execute(`console.log('${line}');`);
316
- // }
317
- // const logs = await driver.log('safariConsole');
318
- // checkTexts(logs, strings);
319
- // // execute some more and see that we don't have overlap
320
- // await driver.execute(`console.log('HELLO WORLD')`);
321
- // // new logs should _just_ be the above statement
322
- // const logs2 = await driver.log('safariConsole');
323
- // logs2.should.have.length(1);
324
- // // there should be no overlap
325
- // _.intersection(logs, logs2).should.have.length(0);
326
- // });
327
- // });
328
- describe('cookies', function () {
329
- describe('within iframe webview', function () {
330
- it('should be able to get cookies for a page with none', async function () {
331
- await (0, helpers_1.openPage)(driver, helpers_1.GUINEA_PIG_IFRAME_PAGE);
332
- await driver.deleteAllCookies();
333
- await (0, asyncbox_1.retryInterval)(5, 1000, async function () {
334
- await (0, chai_1.expect)(driver.getAllCookies()).to.eventually.have.length(0);
335
- });
336
- });
337
- });
338
- describe('within webview', function () {
339
- describe('insecure', function () {
340
- beforeEach(async function () {
341
- await (0, helpers_1.openPage)(driver, helpers_1.GUINEA_PIG_PAGE);
342
- await driver.deleteCookie(helpers_1.newCookie.name);
343
- });
344
- it('should be able to get cookies for a page', async function () {
345
- const cookies = await driver.getAllCookies();
346
- (0, chai_1.expect)(cookies.length).to.equal(2);
347
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.oldCookie1);
348
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.oldCookie2);
349
- });
350
- it('should be able to set a cookie for a page', async function () {
351
- await driver.addCookie(helpers_1.newCookie);
352
- const cookies = await driver.getAllCookies();
353
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.newCookie);
354
- // should not clobber old cookies
355
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.oldCookie1);
356
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.oldCookie2);
357
- });
358
- it('should be able to set a cookie with expiry', async function () {
359
- const expiredCookie = {
360
- ...helpers_1.newCookie,
361
- expiry: parseInt(String(Date.now() / 1000), 10) - 1000, // set cookie in past
362
- name: 'expiredcookie',
363
- };
364
- let cookies = await driver.getAllCookies();
365
- (0, helpers_1.doesNotIncludeCookie)(cookies, expiredCookie);
366
- await driver.addCookie(expiredCookie);
367
- cookies = await driver.getAllCookies();
368
- // should not include cookie we just added because of expiry
369
- (0, helpers_1.doesNotIncludeCookie)(cookies, expiredCookie);
370
- // should not clobber old cookies
371
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.oldCookie1);
372
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.oldCookie2);
373
- await driver.deleteCookie(expiredCookie.name);
374
- });
375
- it('should be able to delete one cookie', async function () {
376
- await driver.addCookie(helpers_1.newCookie);
377
- let cookies = await driver.getAllCookies();
378
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.newCookie);
379
- await driver.deleteCookie(helpers_1.newCookie.name);
380
- cookies = await driver.getAllCookies();
381
- (0, helpers_1.doesNotIncludeCookie)(cookies, helpers_1.newCookie);
382
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.oldCookie1);
383
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.oldCookie2);
384
- });
385
- it('should be able to delete all cookies', async function () {
386
- await driver.addCookie(helpers_1.newCookie);
387
- let cookies = await driver.getAllCookies();
388
- (0, helpers_1.doesIncludeCookie)(cookies, helpers_1.newCookie);
389
- await driver.deleteAllCookies();
390
- cookies = await driver.getAllCookies();
391
- (0, chai_1.expect)(cookies.length).to.equal(0);
392
- (0, helpers_1.doesNotIncludeCookie)(cookies, helpers_1.oldCookie1);
393
- (0, helpers_1.doesNotIncludeCookie)(cookies, helpers_1.oldCookie2);
394
- });
395
- describe('native context', function () {
396
- const notImplementedRegExp = /Method is not implemented/;
397
- let context;
398
- beforeEach(async function () {
399
- context = await driver.getContext();
400
- await driver.switchContext('NATIVE_APP');
401
- });
402
- afterEach(async function () {
403
- if (context) {
404
- await driver.switchContext(context);
405
- }
406
- });
407
- it('should reject all functions', async function () {
408
- await (0, chai_1.expect)(driver.addCookie(helpers_1.newCookie)).to.be.rejectedWith(notImplementedRegExp);
409
- await (0, chai_1.expect)(driver.getAllCookies()).to.be.rejectedWith(notImplementedRegExp);
410
- await (0, chai_1.expect)(driver
411
- .deleteCookie(helpers_1.newCookie.name)).to.be.rejectedWith(notImplementedRegExp);
412
- await (0, chai_1.expect)(driver.deleteAllCookies()).to.be.rejectedWith(notImplementedRegExp);
413
- });
414
- });
415
- });
416
- describe('secure', function () {
417
- /*
418
- * secure cookie tests are in `./safari-ssl-e2e-specs.ts`
419
- */
420
- });
421
- });
422
- });
423
- });
424
- });
425
- //# sourceMappingURL=safari-basic-e2e-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safari-basic-e2e-specs.js","sourceRoot":"","sources":["../../../../test/functional/web/safari-basic-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=safari-execute-e2e-specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safari-execute-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../test/functional/web/safari-execute-e2e-specs.ts"],"names":[],"mappings":""}
@@ -1,167 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const desired_1 = require("../desired");
40
- const session_1 = require("../helpers/session");
41
- const helpers_1 = require("./helpers");
42
- const chai_1 = __importStar(require("chai"));
43
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
44
- chai_1.default.use(chai_as_promised_1.default);
45
- const SCROLL_INTO_VIEW = `return arguments[0].scrollIntoView(true);`;
46
- const GET_RIGHT_INNERHTML = `return document.body.innerHTML.indexOf('I am some page content') > 0`;
47
- const GET_WRONG_INNERHTML = `return document.body.innerHTML.indexOf('I am not some page content') > 0`;
48
- const GET_ELEM_BY_TAGNAME = `return document.getElementsByTagName('a');`;
49
- describe('safari - execute -', function () {
50
- this.timeout(session_1.MOCHA_TIMEOUT);
51
- let driver;
52
- before(async function () {
53
- const caps = (0, desired_1.amendCapabilities)(desired_1.SAFARI_CAPS, {
54
- 'appium:safariInitialUrl': helpers_1.GUINEA_PIG_PAGE,
55
- 'appium:showSafariConsoleLog': true,
56
- });
57
- driver = await (0, session_1.initSession)(caps);
58
- });
59
- after(async function () {
60
- await (0, session_1.deleteSession)();
61
- });
62
- async function runTests(secure = false) {
63
- describe('mobile: x methods', function () {
64
- it('should run in native context', async function () {
65
- await (0, chai_1.expect)(driver.executeScript('mobile: scroll', [{ direction: 'down' }])).to.not.be.rejected;
66
- });
67
- });
68
- describe('synchronous', function () {
69
- it('should bubble up javascript errors', async function () {
70
- await (0, chai_1.expect)(driver.executeScript(`'nan'--`, [])).to.be.rejected;
71
- });
72
- it('should eval javascript', async function () {
73
- await (0, chai_1.expect)(driver.executeScript('return 1 + 1', [])).to.eventually.equal(2);
74
- });
75
- it('should not be returning hardcoded results', async function () {
76
- await (0, chai_1.expect)(driver.executeScript('return 1+1', [])).to.eventually.equal(2);
77
- });
78
- it(`should return nothing when you don't explicitly return`, async function () {
79
- (0, chai_1.expect)(await driver.executeScript('1+1', [])).to.not.exist;
80
- });
81
- if (!secure) {
82
- it('should execute code inside the web view', async function () {
83
- await (0, chai_1.expect)(driver.executeScript(GET_RIGHT_INNERHTML, [])).to.eventually.be.ok;
84
- await (0, chai_1.expect)(driver.executeScript(GET_WRONG_INNERHTML, [])).to.eventually.not.be.ok;
85
- });
86
- it('should convert selenium element arg to webview element', async function () {
87
- const el = await driver.findElement('id', 'useragent');
88
- await driver.executeScript(SCROLL_INTO_VIEW, [el]);
89
- });
90
- it('should catch stale or undefined element as arg', async function () {
91
- const el = await driver.findElement('id', 'useragent');
92
- await (0, chai_1.expect)(driver.executeScript(SCROLL_INTO_VIEW, [{ ELEMENT: el.value + 1 }])).to.be
93
- .rejected;
94
- });
95
- it('should be able to return multiple elements from javascript', async function () {
96
- await (0, chai_1.expect)(driver
97
- .executeScript(GET_ELEM_BY_TAGNAME, [])).to.eventually.have.length.above(0);
98
- });
99
- }
100
- it('should pass along non-element arguments', async function () {
101
- const arg = 'non-element-argument';
102
- await (0, chai_1.expect)(driver
103
- .executeScript('var args = Array.prototype.slice.call(arguments, 0); return args[0];', [
104
- arg,
105
- ])).to.eventually.equal(arg);
106
- });
107
- it('should handle return values correctly', async function () {
108
- const arg = ['one', 'two', 'three'];
109
- await (0, chai_1.expect)(driver
110
- .executeScript('var args = Array.prototype.slice.call(arguments, 0); return args;', arg)).to.eventually.eql(arg);
111
- });
112
- });
113
- // TODO: Update for WdIO compatibility
114
- // describe('asynchronous', function () {
115
- // it('should execute async javascript', async function () {
116
- // await driver.setAsyncScriptTimeout(1000);
117
- // await driver.executeAsync(`arguments[arguments.length - 1](123);`)
118
- // .should.eventually.equal(123);
119
- // });
120
- // it('should bubble up errors', async function () {
121
- // await driver.executeAsync(`arguments[arguments.length - 1]('nan'--);`)
122
- // .should.be.rejectedWith(/operator applied to value that is not a reference/);
123
- // });
124
- // it('should timeout when callback is not invoked', async function () {
125
- // await driver.setAsyncScriptTimeout(1000);
126
- // await driver.executeAsync(`return 1 + 2`)
127
- // .should.be.rejectedWith(/Timed out waiting for/);
128
- // });
129
- // });
130
- }
131
- describe('http', function () {
132
- runTests();
133
- // TODO: Update for WdIO compatibility
134
- // describe('cors', function () {
135
- // let server;
136
- // const host = '127.0.0.1';
137
- // const port = 8080;
138
- // before(function () {
139
- // // create an http server so we can test CORS handling without
140
- // // going to an external site
141
- // server = http.createServer(function (req, res) {
142
- // res.writeHead(200, {'Content-Type': 'text/html'});
143
- // res.write('appium-xcuitest-driver async execute tests');
144
- // res.end();
145
- // }).listen({host, port});
146
- // });
147
- // after(function () {
148
- // if (server) {
149
- // server.close();
150
- // }
151
- // });
152
- // it('should execute async javascript from a different site', async function () {
153
- // await driver.navigateTo(`http://${host}:${port}`);
154
- // await driver.setAsyncScriptTimeout(1000);
155
- // await driver.executeAsync(`arguments[arguments.length - 1](123);`)
156
- // .should.eventually.equal(123);
157
- // });
158
- // });
159
- });
160
- describe('https', function () {
161
- before(async function () {
162
- await (0, helpers_1.openPage)(driver, 'https://google.com');
163
- });
164
- runTests(true);
165
- });
166
- });
167
- //# sourceMappingURL=safari-execute-e2e-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safari-execute-e2e-specs.js","sourceRoot":"","sources":["../../../../test/functional/web/safari-execute-e2e-specs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA0D;AAC1D,gDAA6E;AAC7E,uCAAoD;AACpD,6CAAkC;AAClC,wEAA8C;AAE9C,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEzB,MAAM,gBAAgB,GAAG,2CAA2C,CAAC;AACrE,MAAM,mBAAmB,GAAG,sEAAsE,CAAC;AACnG,MAAM,mBAAmB,GAAG,0EAA0E,CAAC;AACvG,MAAM,mBAAmB,GAAG,4CAA4C,CAAC;AAEzE,QAAQ,CAAC,oBAAoB,EAAE;IAC7B,IAAI,CAAC,OAAO,CAAC,uBAAa,CAAC,CAAC;IAE5B,IAAI,MAAM,CAAC;IAEX,MAAM,CAAC,KAAK;QACV,MAAM,IAAI,GAAG,IAAA,2BAAiB,EAAC,qBAAW,EAAE;YAC1C,yBAAyB,EAAE,yBAAe;YAC1C,6BAA6B,EAAE,IAAI;SACpC,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAA,uBAAa,GAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,QAAQ,CAAC,MAAM,GAAG,KAAK;QACpC,QAAQ,CAAC,mBAAmB,EAAE;YAC5B,EAAE,CAAC,8BAA8B,EAAE,KAAK;gBACtC,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAC,SAAS,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;YACjG,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE;YACtB,EAAE,CAAC,oCAAoC,EAAE,KAAK;gBAC5C,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK;gBAChC,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK;gBACnD,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK;gBAChE,IAAA,aAAM,EAAC,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,EAAE,CAAC,yCAAyC,EAAE,KAAK;oBACjD,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBAChF,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtF,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK;oBAChE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACvD,MAAM,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK;oBACxD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACvD,MAAM,IAAA,aAAM,EAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAC,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;yBAClF,QAAQ,CAAC;gBACd,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK;oBACpE,MAAM,IAAA,aAAM,EAAC,MAAM;yBAChB,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC,CACxC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,EAAE,CAAC,yCAAyC,EAAE,KAAK;gBACjD,MAAM,GAAG,GAAG,sBAAsB,CAAC;gBACnC,MAAM,IAAA,aAAM,EAAC,MAAM;qBAChB,aAAa,CAAC,sEAAsE,EAAE;oBACrF,GAAG;iBACJ,CAAC,CACH,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK;gBAC/C,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACpC,MAAM,IAAA,aAAM,EAAC,MAAM;qBAChB,aAAa,CAAC,mEAAmE,EAAE,GAAG,CAAC,CACzF,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,sCAAsC;QACtC,yCAAyC;QACzC,8DAA8D;QAC9D,gDAAgD;QAChD,yEAAyE;QACzE,uCAAuC;QACvC,QAAQ;QAER,sDAAsD;QACtD,6EAA6E;QAC7E,sFAAsF;QACtF,QAAQ;QAER,0EAA0E;QAC1E,gDAAgD;QAChD,gDAAgD;QAChD,0DAA0D;QAC1D,QAAQ;QACR,MAAM;IACR,CAAC;IAED,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,EAAE,CAAC;QAEX,sCAAsC;QACtC,mCAAmC;QACnC,kBAAkB;QAClB,gCAAgC;QAChC,yBAAyB;QACzB,2BAA2B;QAC3B,sEAAsE;QACtE,qCAAqC;QACrC,yDAAyD;QACzD,6DAA6D;QAC7D,mEAAmE;QACnE,qBAAqB;QACrB,iCAAiC;QACjC,UAAU;QACV,0BAA0B;QAC1B,sBAAsB;QACtB,0BAA0B;QAC1B,UAAU;QACV,UAAU;QAEV,sFAAsF;QACtF,2DAA2D;QAC3D,kDAAkD;QAClD,2EAA2E;QAC3E,yCAAyC;QACzC,UAAU;QACV,QAAQ;IACV,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE;QAChB,MAAM,CAAC,KAAK;YACV,MAAM,IAAA,kBAAQ,EAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=safari-nativewebtap-e2e-specs.d.ts.map