appium-xcuitest-driver 10.3.0 → 10.4.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.
- package/CHANGELOG.md +12 -0
- package/build/lib/commands/active-app-info.d.ts +9 -0
- package/build/lib/commands/active-app-info.d.ts.map +1 -0
- package/build/lib/commands/active-app-info.js +14 -0
- package/build/lib/commands/active-app-info.js.map +1 -0
- package/build/lib/commands/alert.d.ts +42 -45
- package/build/lib/commands/alert.d.ts.map +1 -1
- package/build/lib/commands/alert.js +66 -62
- package/build/lib/commands/alert.js.map +1 -1
- package/build/lib/commands/app-management.d.ts +150 -153
- package/build/lib/commands/app-management.d.ts.map +1 -1
- package/build/lib/commands/app-management.js +300 -286
- package/build/lib/commands/app-management.js.map +1 -1
- package/build/lib/commands/app-strings.d.ts +14 -17
- package/build/lib/commands/app-strings.d.ts.map +1 -1
- package/build/lib/commands/app-strings.js +23 -24
- package/build/lib/commands/app-strings.js.map +1 -1
- package/build/lib/commands/appearance.d.ts +19 -22
- package/build/lib/commands/appearance.d.ts.map +1 -1
- package/build/lib/commands/appearance.js +56 -56
- package/build/lib/commands/appearance.js.map +1 -1
- package/build/lib/commands/audit.d.ts +22 -17
- package/build/lib/commands/audit.d.ts.map +1 -1
- package/build/lib/commands/audit.js +17 -18
- package/build/lib/commands/audit.js.map +1 -1
- package/build/lib/commands/battery.d.ts +11 -14
- package/build/lib/commands/battery.d.ts.map +1 -1
- package/build/lib/commands/battery.js +36 -37
- package/build/lib/commands/battery.js.map +1 -1
- package/build/lib/commands/biometric.d.ts +30 -33
- package/build/lib/commands/biometric.d.ts.map +1 -1
- package/build/lib/commands/biometric.js +42 -41
- package/build/lib/commands/biometric.js.map +1 -1
- package/build/lib/commands/certificate.d.ts +48 -45
- package/build/lib/commands/certificate.d.ts.map +1 -1
- package/build/lib/commands/certificate.js +218 -205
- package/build/lib/commands/certificate.js.map +1 -1
- package/build/lib/commands/clipboard.d.ts +19 -22
- package/build/lib/commands/clipboard.d.ts.map +1 -1
- package/build/lib/commands/clipboard.js +30 -30
- package/build/lib/commands/clipboard.js.map +1 -1
- package/build/lib/commands/condition.d.ts +49 -26
- package/build/lib/commands/condition.d.ts.map +1 -1
- package/build/lib/commands/condition.js +87 -86
- package/build/lib/commands/condition.js.map +1 -1
- package/build/lib/commands/content-size.d.ts +26 -29
- package/build/lib/commands/content-size.d.ts.map +1 -1
- package/build/lib/commands/content-size.js +36 -36
- package/build/lib/commands/content-size.js.map +1 -1
- package/build/lib/commands/context.d.ts +161 -108
- package/build/lib/commands/context.d.ts.map +1 -1
- package/build/lib/commands/context.js +530 -517
- package/build/lib/commands/context.js.map +1 -1
- package/build/lib/commands/deviceInfo.d.ts +9 -12
- package/build/lib/commands/deviceInfo.d.ts.map +1 -1
- package/build/lib/commands/deviceInfo.js +17 -18
- package/build/lib/commands/deviceInfo.js.map +1 -1
- package/build/lib/commands/element.d.ts +102 -105
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +337 -323
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/execute.d.ts +24 -19
- package/build/lib/commands/execute.d.ts.map +1 -1
- package/build/lib/commands/execute.js +63 -62
- package/build/lib/commands/execute.js.map +1 -1
- package/build/lib/commands/file-movement.d.ts +77 -80
- package/build/lib/commands/file-movement.d.ts.map +1 -1
- package/build/lib/commands/file-movement.js +130 -124
- package/build/lib/commands/file-movement.js.map +1 -1
- package/build/lib/commands/find.d.ts +18 -21
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +158 -156
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/general.d.ts +124 -116
- package/build/lib/commands/general.d.ts.map +1 -1
- package/build/lib/commands/general.js +248 -232
- package/build/lib/commands/general.js.map +1 -1
- package/build/lib/commands/geolocation.d.ts +43 -46
- package/build/lib/commands/geolocation.d.ts.map +1 -1
- package/build/lib/commands/geolocation.js +10 -11
- package/build/lib/commands/geolocation.js.map +1 -1
- package/build/lib/commands/gesture.d.ts +273 -276
- package/build/lib/commands/gesture.d.ts.map +1 -1
- package/build/lib/commands/gesture.js +506 -492
- package/build/lib/commands/gesture.js.map +1 -1
- package/build/lib/commands/increase-contrast.d.ts +20 -23
- package/build/lib/commands/increase-contrast.d.ts.map +1 -1
- package/build/lib/commands/increase-contrast.js +30 -30
- package/build/lib/commands/increase-contrast.js.map +1 -1
- package/build/lib/commands/iohid.d.ts +1370 -1373
- package/build/lib/commands/iohid.d.ts.map +1 -1
- package/build/lib/commands/iohid.js +30 -31
- package/build/lib/commands/iohid.js.map +1 -1
- package/build/lib/commands/keyboard.d.ts +29 -32
- package/build/lib/commands/keyboard.d.ts.map +1 -1
- package/build/lib/commands/keyboard.js +53 -51
- package/build/lib/commands/keyboard.js.map +1 -1
- package/build/lib/commands/keychains.d.ts +9 -12
- package/build/lib/commands/keychains.d.ts.map +1 -1
- package/build/lib/commands/keychains.js +13 -14
- package/build/lib/commands/keychains.js.map +1 -1
- package/build/lib/commands/localization.d.ts +16 -19
- package/build/lib/commands/localization.d.ts.map +1 -1
- package/build/lib/commands/localization.js +25 -26
- package/build/lib/commands/localization.js.map +1 -1
- package/build/lib/commands/location.d.ts +36 -39
- package/build/lib/commands/location.d.ts.map +1 -1
- package/build/lib/commands/location.js +99 -98
- package/build/lib/commands/location.js.map +1 -1
- package/build/lib/commands/lock.d.ts +21 -24
- package/build/lib/commands/lock.d.ts.map +1 -1
- package/build/lib/commands/lock.js +39 -38
- package/build/lib/commands/lock.js.map +1 -1
- package/build/lib/commands/log.d.ts +43 -37
- package/build/lib/commands/log.d.ts.map +1 -1
- package/build/lib/commands/log.js +174 -171
- package/build/lib/commands/log.js.map +1 -1
- package/build/lib/commands/memory.d.ts +9 -12
- package/build/lib/commands/memory.d.ts.map +1 -1
- package/build/lib/commands/memory.js +37 -38
- package/build/lib/commands/memory.js.map +1 -1
- package/build/lib/commands/navigation.d.ts +30 -33
- package/build/lib/commands/navigation.d.ts.map +1 -1
- package/build/lib/commands/navigation.js +92 -92
- package/build/lib/commands/navigation.js.map +1 -1
- package/build/lib/commands/notifications.d.ts +26 -29
- package/build/lib/commands/notifications.d.ts.map +1 -1
- package/build/lib/commands/notifications.js +53 -53
- package/build/lib/commands/notifications.js.map +1 -1
- package/build/lib/commands/pasteboard.d.ts +21 -24
- package/build/lib/commands/pasteboard.d.ts.map +1 -1
- package/build/lib/commands/pasteboard.js +37 -37
- package/build/lib/commands/pasteboard.js.map +1 -1
- package/build/lib/commands/pcap.d.ts +39 -26
- package/build/lib/commands/pcap.d.ts.map +1 -1
- package/build/lib/commands/pcap.js +81 -81
- package/build/lib/commands/pcap.js.map +1 -1
- package/build/lib/commands/performance.d.ts +63 -44
- package/build/lib/commands/performance.d.ts.map +1 -1
- package/build/lib/commands/performance.js +105 -105
- package/build/lib/commands/performance.js.map +1 -1
- package/build/lib/commands/permissions.d.ts +33 -36
- package/build/lib/commands/permissions.d.ts.map +1 -1
- package/build/lib/commands/permissions.js +66 -65
- package/build/lib/commands/permissions.js.map +1 -1
- package/build/lib/commands/proxy-helper.d.ts +12 -15
- package/build/lib/commands/proxy-helper.d.ts.map +1 -1
- package/build/lib/commands/proxy-helper.js +53 -54
- package/build/lib/commands/proxy-helper.js.map +1 -1
- package/build/lib/commands/record-audio.d.ts +49 -29
- package/build/lib/commands/record-audio.d.ts.map +1 -1
- package/build/lib/commands/record-audio.js +100 -104
- package/build/lib/commands/record-audio.js.map +1 -1
- package/build/lib/commands/recordscreen.d.ts +54 -18
- package/build/lib/commands/recordscreen.d.ts.map +1 -1
- package/build/lib/commands/recordscreen.js +127 -129
- package/build/lib/commands/recordscreen.js.map +1 -1
- package/build/lib/commands/screenshots.d.ts +14 -17
- package/build/lib/commands/screenshots.d.ts.map +1 -1
- package/build/lib/commands/screenshots.js +108 -107
- package/build/lib/commands/screenshots.js.map +1 -1
- package/build/lib/commands/simctl.d.ts +11 -14
- package/build/lib/commands/simctl.d.ts.map +1 -1
- package/build/lib/commands/simctl.js +23 -26
- package/build/lib/commands/simctl.js.map +1 -1
- package/build/lib/commands/source.d.ts +14 -17
- package/build/lib/commands/source.d.ts.map +1 -1
- package/build/lib/commands/source.js +40 -43
- package/build/lib/commands/source.js.map +1 -1
- package/build/lib/commands/timeouts.d.ts +44 -33
- package/build/lib/commands/timeouts.d.ts.map +1 -1
- package/build/lib/commands/timeouts.js +65 -63
- package/build/lib/commands/timeouts.js.map +1 -1
- package/build/lib/commands/web.d.ts +275 -197
- package/build/lib/commands/web.d.ts.map +1 -1
- package/build/lib/commands/web.js +866 -785
- package/build/lib/commands/web.js.map +1 -1
- package/build/lib/commands/xctest-record-screen.d.ts +63 -66
- package/build/lib/commands/xctest-record-screen.d.ts.map +1 -1
- package/build/lib/commands/xctest-record-screen.js +103 -102
- package/build/lib/commands/xctest-record-screen.js.map +1 -1
- package/build/lib/commands/xctest.d.ts +55 -51
- package/build/lib/commands/xctest.d.ts.map +1 -1
- package/build/lib/commands/xctest.js +116 -117
- package/build/lib/commands/xctest.js.map +1 -1
- package/build/lib/driver.d.ts +277 -1597
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +318 -235
- package/build/lib/driver.js.map +1 -1
- package/build/lib/execute-method-map.d.ts.map +1 -1
- package/build/lib/execute-method-map.js +9 -0
- package/build/lib/execute-method-map.js.map +1 -1
- package/lib/commands/active-app-info.js +12 -0
- package/lib/commands/alert.js +68 -65
- package/lib/commands/app-management.js +308 -301
- package/lib/commands/app-strings.js +24 -26
- package/lib/commands/appearance.js +54 -56
- package/lib/commands/audit.js +18 -20
- package/lib/commands/battery.js +35 -37
- package/lib/commands/biometric.js +44 -46
- package/lib/commands/certificate.js +226 -215
- package/lib/commands/clipboard.js +30 -32
- package/lib/commands/condition.js +98 -100
- package/lib/commands/content-size.js +36 -38
- package/lib/commands/context.js +495 -490
- package/lib/commands/deviceInfo.js +19 -20
- package/lib/commands/element.js +367 -357
- package/lib/commands/execute.js +72 -72
- package/lib/commands/file-movement.js +132 -134
- package/lib/commands/find.js +160 -159
- package/lib/commands/general.js +238 -231
- package/lib/commands/geolocation.js +6 -14
- package/lib/commands/gesture.js +525 -515
- package/lib/commands/increase-contrast.js +30 -32
- package/lib/commands/iohid.js +32 -34
- package/lib/commands/keyboard.js +49 -51
- package/lib/commands/keychains.js +12 -14
- package/lib/commands/localization.js +24 -26
- package/lib/commands/location.js +102 -104
- package/lib/commands/lock.js +38 -38
- package/lib/commands/log.js +197 -198
- package/lib/commands/memory.js +40 -42
- package/lib/commands/navigation.js +96 -100
- package/lib/commands/notifications.js +57 -59
- package/lib/commands/pasteboard.js +37 -39
- package/lib/commands/pcap.js +84 -86
- package/lib/commands/performance.js +132 -133
- package/lib/commands/permissions.js +67 -69
- package/lib/commands/proxy-helper.js +60 -61
- package/lib/commands/record-audio.js +115 -120
- package/lib/commands/recordscreen.js +145 -149
- package/lib/commands/screenshots.js +116 -116
- package/lib/commands/simctl.js +25 -29
- package/lib/commands/source.js +42 -46
- package/lib/commands/timeouts.js +59 -63
- package/lib/commands/web.js +932 -859
- package/lib/commands/xctest-record-screen.js +103 -105
- package/lib/commands/xctest.js +134 -139
- package/lib/driver.js +286 -235
- package/lib/execute-method-map.ts +9 -0
- package/npm-shrinkwrap.json +8 -8
- package/package.json +1 -1
- package/build/lib/commands/activeAppInfo.d.ts +0 -12
- package/build/lib/commands/activeAppInfo.d.ts.map +0 -1
- package/build/lib/commands/activeAppInfo.js +0 -15
- package/build/lib/commands/activeAppInfo.js.map +0 -1
- package/build/lib/commands/index.d.ts +0 -96
- package/build/lib/commands/index.d.ts.map +0 -1
- package/build/lib/commands/index.js +0 -100
- package/build/lib/commands/index.js.map +0 -1
- package/build/lib/cookies.d.ts +0 -15
- package/build/lib/cookies.d.ts.map +0 -1
- package/build/lib/cookies.js +0 -84
- package/build/lib/cookies.js.map +0 -1
- package/lib/commands/activeAppInfo.js +0 -14
- package/lib/commands/index.js +0 -95
- package/lib/cookies.js +0 -92
|
@@ -4,6 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parseCommonName = parseCommonName;
|
|
7
|
+
exports.mobileInstallCertificate = mobileInstallCertificate;
|
|
8
|
+
exports.mobileRemoveCertificate = mobileRemoveCertificate;
|
|
9
|
+
exports.mobileListCertificates = mobileListCertificates;
|
|
7
10
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
11
|
const support_1 = require("appium/support");
|
|
9
12
|
const asyncbox_1 = require("asyncbox");
|
|
@@ -60,6 +63,221 @@ const Alert = /** @type {const} */ ({
|
|
|
60
63
|
value: "**/XCUIElementTypeAny[`type == 'XCUIElementTypeAlert' OR type == 'XCUIElementTypeSheet'`]/**/XCUIElementTypeButton[`label == 'Install'`]",
|
|
61
64
|
},
|
|
62
65
|
});
|
|
66
|
+
const LIBRE_SSL_PATTERN = /\/CN=([^\/]+)/; // eslint-disable-line no-useless-escape
|
|
67
|
+
const OPEN_SSL_PATTERN = /,\sCN\s=\s([^,]+)/;
|
|
68
|
+
/**
|
|
69
|
+
* Parses the common name of the certificate from the given string.
|
|
70
|
+
*
|
|
71
|
+
* @param {string} stringCertificate
|
|
72
|
+
* @returns {string} The common name of the certificate
|
|
73
|
+
*/
|
|
74
|
+
function parseCommonName(stringCertificate) {
|
|
75
|
+
const result = [LIBRE_SSL_PATTERN, OPEN_SSL_PATTERN].reduce((acc, r) => {
|
|
76
|
+
if (acc) {
|
|
77
|
+
return acc;
|
|
78
|
+
}
|
|
79
|
+
const match = r.exec(stringCertificate);
|
|
80
|
+
return match?.[1];
|
|
81
|
+
}, null);
|
|
82
|
+
if (!result) {
|
|
83
|
+
throw new Error(`There is no common name value in '${stringCertificate}' output`);
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Installs a custom certificate onto the device.
|
|
89
|
+
*
|
|
90
|
+
* Since Xcode SDK 11.4, Apple has added a dedicated `simctl` subcommand to quickly handle
|
|
91
|
+
* certificates on Simulator over CLI.
|
|
92
|
+
*
|
|
93
|
+
* On real devices (or simulators before Xcode SDK 11.4), Apple provides no "official" way to do this via the command line. In such a case (and also as a fallback if CLI setup fails), this method tries to wrap the certificate into `.mobileconfig` format, then deploys the wrapped file to the internal HTTP server so that it can be opened via mobile Safari. This command then goes through the profile installation procedure by clicking the necessary buttons using WebDriverAgent.
|
|
94
|
+
* @param {string} content - Base64-encoded content of the public certificate in [PEM](https://knowledge.digicert.com/quovadis/ssl-certificates/ssl-general-topics/what-is-pem-format.html) format
|
|
95
|
+
* @param {string} [commonName] - Common name of the certificate. If this is not set, the command will try to parse it from the provided `content`.
|
|
96
|
+
* @param {boolean} isRoot - Defines where the certificate should be installed; either the Trusted Root Store (`true`) or the Keychain (`false`). On environments other than Xcode 11.4+ Simulator, this option is ignored.
|
|
97
|
+
* @returns {Promise<string|void>} The content of the generated `.mobileconfig` file as
|
|
98
|
+
* a base64-encoded string. This config might be useful for debugging purposes. If the certificate has been successfully set via CLI, then nothing is returned.
|
|
99
|
+
* @this {XCUITestDriver}
|
|
100
|
+
*/
|
|
101
|
+
async function mobileInstallCertificate(content, commonName, isRoot = true) {
|
|
102
|
+
if (lodash_1.default.isEmpty(content)) {
|
|
103
|
+
throw new Error('Certificate content should not be empty');
|
|
104
|
+
}
|
|
105
|
+
if (this.isSimulator()) {
|
|
106
|
+
try {
|
|
107
|
+
const methodName = isRoot ? 'addRootCertificate' : 'addCertificate';
|
|
108
|
+
await /** @type {import('../driver').Simulator} */ (this.device).simctl[methodName](Buffer.from(content, 'base64').toString(), {
|
|
109
|
+
raw: true,
|
|
110
|
+
});
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
this.log.debug(e);
|
|
115
|
+
this.log.info(`The certificate cannot be installed via CLI. ` + `Falling back to UI-based deployment`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const client = new py_ios_device_client_1.Pyidevice({
|
|
120
|
+
udid: this.opts.udid,
|
|
121
|
+
log: this.log,
|
|
122
|
+
});
|
|
123
|
+
if (await client.assertExists(false)) {
|
|
124
|
+
await client.installProfile({ payload: Buffer.from(content, 'base64') });
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
this.log.info('pyidevice is not installed on your system. ' +
|
|
129
|
+
'Falling back to the (slow) UI-based installation');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const tmpRoot = await support_1.tempDir.openDir();
|
|
133
|
+
const tmpPort = await (0, portscanner_1.findAPortNotInUse)(HOST_PORT_RANGE[0], HOST_PORT_RANGE[1]);
|
|
134
|
+
const configName = `appium.${CONFIG_EXTENSION}`;
|
|
135
|
+
const configPath = path_1.default.resolve(tmpRoot, configName);
|
|
136
|
+
const tmpServer = http_1.default.createServer(async function (_, res) {
|
|
137
|
+
const configFile = await support_1.fs.readFile(configPath);
|
|
138
|
+
res.end(configFile);
|
|
139
|
+
});
|
|
140
|
+
try {
|
|
141
|
+
const certBuffer = Buffer.from(content, 'base64');
|
|
142
|
+
const cn = commonName || (await extractCommonName(certBuffer));
|
|
143
|
+
const mobileConfig = toMobileConfig(certBuffer, cn);
|
|
144
|
+
try {
|
|
145
|
+
await support_1.plist.updatePlistFile(configPath, mobileConfig, false, false);
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
throw new Error(`Cannot store the generated config as '${configPath}'. ` +
|
|
149
|
+
`Original error: ${err.message}`);
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
const host = os_1.default.hostname();
|
|
153
|
+
const certUrl = `http://${host}:${tmpPort}/${configName}`;
|
|
154
|
+
await tmpServer.listen(tmpPort);
|
|
155
|
+
try {
|
|
156
|
+
await (0, asyncbox_1.waitForCondition)(async () => {
|
|
157
|
+
try {
|
|
158
|
+
return (await (0, portscanner_1.checkPortStatus)(tmpPort, host)) === 'open';
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
}, {
|
|
164
|
+
waitMs: TMPSERVER_STARTUP_TIMEOUT,
|
|
165
|
+
intervalMs: 300,
|
|
166
|
+
});
|
|
167
|
+
this.log.debug(`The temporary web server is running at http://${host}:${tmpPort}`);
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
throw new Error(`The temporary web server cannot be started at http://${host}:${tmpPort}.`);
|
|
171
|
+
}
|
|
172
|
+
if (this.isRealDevice()) {
|
|
173
|
+
try {
|
|
174
|
+
await this.proxyCommand('/url', 'POST', { url: certUrl });
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
if (this.isWebContext()) {
|
|
178
|
+
// The command above does not always work on real devices
|
|
179
|
+
await this.setUrl(certUrl);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
throw err;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
await /** @type {import('../driver').Simulator} */ (this.device).openUrl(certUrl);
|
|
188
|
+
}
|
|
189
|
+
let isCertAlreadyInstalled = false;
|
|
190
|
+
if (support_1.util.compareVersions(/** @type {string} */ (this.opts.platformVersion), '>=', '12.2')) {
|
|
191
|
+
if (await installPost122Certificate(this, cn)) {
|
|
192
|
+
await clickElement(this, Settings.Profile);
|
|
193
|
+
await trustCertificateInPreferences(this, cn);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
isCertAlreadyInstalled = true;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
if (await installPre122Certificate(this)) {
|
|
201
|
+
await clickElement(this, Button.Return_to_Settings);
|
|
202
|
+
await trustCertificateInPreferences(this, cn);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
isCertAlreadyInstalled = true;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
if (isCertAlreadyInstalled) {
|
|
209
|
+
this.log.info(`It looks like the '${cn}' certificate has been already added to the CA root`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
finally {
|
|
213
|
+
if (this.opts.bundleId) {
|
|
214
|
+
try {
|
|
215
|
+
await this.activateApp(this.opts.bundleId);
|
|
216
|
+
}
|
|
217
|
+
catch (e) {
|
|
218
|
+
this.log.warn(`Cannot restore the application '${this.opts.bundleId}'. Original error: ${e.message}`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return (await support_1.util.toInMemoryBase64(configPath)).toString();
|
|
223
|
+
}
|
|
224
|
+
finally {
|
|
225
|
+
await tmpServer.close();
|
|
226
|
+
await support_1.fs.rimraf(tmpRoot);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Removes installed certificates.
|
|
231
|
+
*
|
|
232
|
+
* This only works _if and only if_ `py-ios-device` is installed on the same machine Appium is running on.
|
|
233
|
+
*
|
|
234
|
+
* @see https://github.com/YueChen-C/py-ios-device
|
|
235
|
+
* @since 4.19.2
|
|
236
|
+
* @param {string} name - Name of the profile
|
|
237
|
+
* @returns {Promise<string>} Returns status acknowledgment status if
|
|
238
|
+
* tht certificate is successfully removed or 'None' (basically just
|
|
239
|
+
* forwards the original pyidevice output)
|
|
240
|
+
* @throws {Error} If attempting to remove certificates for a simulated device or if `py-ios-device` is not installed
|
|
241
|
+
* @group Real Device Only
|
|
242
|
+
*/
|
|
243
|
+
async function mobileRemoveCertificate(name) {
|
|
244
|
+
if (!this.isRealDevice()) {
|
|
245
|
+
throw new driver_1.errors.NotImplementedError('This extension is only supported on real devices');
|
|
246
|
+
}
|
|
247
|
+
const client = new py_ios_device_client_1.Pyidevice({
|
|
248
|
+
udid: this.opts.udid,
|
|
249
|
+
log: this.log,
|
|
250
|
+
});
|
|
251
|
+
await client.assertExists(true);
|
|
252
|
+
return await client.removeProfile(name);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Returns map of certificates installed on the real device.
|
|
256
|
+
*
|
|
257
|
+
* This only works _if and only if_ `py-ios-device` is installed on the same machine Appium is running on.
|
|
258
|
+
* @since 4.10.0
|
|
259
|
+
* @see https://github.com/YueChen-C/py-ios-device
|
|
260
|
+
* @returns {Promise<import('./types').CertificateList>} An object describing the certificates installed on the real device.
|
|
261
|
+
* @throws {Error} If attempting to list certificates for a simulated device or if `py-ios-device` is not installed
|
|
262
|
+
* @this {XCUITestDriver}
|
|
263
|
+
*/
|
|
264
|
+
async function mobileListCertificates() {
|
|
265
|
+
if (!this.isRealDevice()) {
|
|
266
|
+
throw new driver_1.errors.NotImplementedError('This extension is only supported on real devices');
|
|
267
|
+
}
|
|
268
|
+
const client = new py_ios_device_client_1.Pyidevice({
|
|
269
|
+
udid: this.opts.udid,
|
|
270
|
+
log: this.log,
|
|
271
|
+
});
|
|
272
|
+
await client.assertExists(true);
|
|
273
|
+
return await client.listProfiles();
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Extracts the common name of the certificate from the given buffer.
|
|
277
|
+
*
|
|
278
|
+
* @param {Buffer} certBuffer
|
|
279
|
+
* @returns {Promise<string>} The common name of the certificate
|
|
280
|
+
*/
|
|
63
281
|
async function extractCommonName(certBuffer) {
|
|
64
282
|
const tempCert = await support_1.tempDir.open({
|
|
65
283
|
prefix: 'cert',
|
|
@@ -78,21 +296,6 @@ async function extractCommonName(certBuffer) {
|
|
|
78
296
|
await support_1.fs.rimraf(tempCert.path);
|
|
79
297
|
}
|
|
80
298
|
}
|
|
81
|
-
const LIBRE_SSL_PATTERN = /\/CN=([^\/]+)/; // eslint-disable-line no-useless-escape
|
|
82
|
-
const OPEN_SSL_PATTERN = /,\sCN\s=\s([^,]+)/;
|
|
83
|
-
function parseCommonName(stringCertificate) {
|
|
84
|
-
const result = [LIBRE_SSL_PATTERN, OPEN_SSL_PATTERN].reduce((acc, r) => {
|
|
85
|
-
if (acc) {
|
|
86
|
-
return acc;
|
|
87
|
-
}
|
|
88
|
-
const match = r.exec(stringCertificate);
|
|
89
|
-
return match?.[1];
|
|
90
|
-
}, null);
|
|
91
|
-
if (!result) {
|
|
92
|
-
throw new Error(`There is no common name value in '${stringCertificate}' output`);
|
|
93
|
-
}
|
|
94
|
-
return result;
|
|
95
|
-
}
|
|
96
299
|
/**
|
|
97
300
|
* Generates Apple's over-the-air configuration profile
|
|
98
301
|
* for certificate deployment based on the given PEM certificate content.
|
|
@@ -245,196 +448,6 @@ async function installPost122Certificate(driver, name) {
|
|
|
245
448
|
await clickElement(driver, Button.Done);
|
|
246
449
|
return true;
|
|
247
450
|
}
|
|
248
|
-
exports.default = {
|
|
249
|
-
/**
|
|
250
|
-
* Installs a custom certificate onto the device.
|
|
251
|
-
*
|
|
252
|
-
* Since Xcode SDK 11.4, Apple has added a dedicated `simctl` subcommand to quickly handle
|
|
253
|
-
* certificates on Simulator over CLI.
|
|
254
|
-
*
|
|
255
|
-
* On real devices (or simulators before Xcode SDK 11.4), Apple provides no "official" way to do this via the command line. In such a case (and also as a fallback if CLI setup fails), this method tries to wrap the certificate into `.mobileconfig` format, then deploys the wrapped file to the internal HTTP server so that it can be opened via mobile Safari. This command then goes through the profile installation procedure by clicking the necessary buttons using WebDriverAgent.
|
|
256
|
-
* @param {string} content - Base64-encoded content of the public certificate in [PEM](https://knowledge.digicert.com/quovadis/ssl-certificates/ssl-general-topics/what-is-pem-format.html) format
|
|
257
|
-
* @param {string} [commonName] - Common name of the certificate. If this is not set, the command will try to parse it from the provided `content`.
|
|
258
|
-
* @param {boolean} isRoot - Defines where the certificate should be installed; either the Trusted Root Store (`true`) or the Keychain (`false`). On environments other than Xcode 11.4+ Simulator, this option is ignored.
|
|
259
|
-
* @returns {Promise<string|void>} The content of the generated `.mobileconfig` file as
|
|
260
|
-
* a base64-encoded string. This config might be useful for debugging purposes. If the certificate has been successfully set via CLI, then nothing is returned.
|
|
261
|
-
* @this {XCUITestDriver}
|
|
262
|
-
*/
|
|
263
|
-
async mobileInstallCertificate(content, commonName, isRoot = true) {
|
|
264
|
-
if (lodash_1.default.isEmpty(content)) {
|
|
265
|
-
throw new Error('Certificate content should not be empty');
|
|
266
|
-
}
|
|
267
|
-
if (this.isSimulator()) {
|
|
268
|
-
try {
|
|
269
|
-
const methodName = isRoot ? 'addRootCertificate' : 'addCertificate';
|
|
270
|
-
await /** @type {import('../driver').Simulator} */ (this.device).simctl[methodName](Buffer.from(content, 'base64').toString(), {
|
|
271
|
-
raw: true,
|
|
272
|
-
});
|
|
273
|
-
return;
|
|
274
|
-
}
|
|
275
|
-
catch (e) {
|
|
276
|
-
this.log.debug(e);
|
|
277
|
-
this.log.info(`The certificate cannot be installed via CLI. ` + `Falling back to UI-based deployment`);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
const client = new py_ios_device_client_1.Pyidevice({
|
|
282
|
-
udid: this.opts.udid,
|
|
283
|
-
log: this.log,
|
|
284
|
-
});
|
|
285
|
-
if (await client.assertExists(false)) {
|
|
286
|
-
await client.installProfile({ payload: Buffer.from(content, 'base64') });
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
else {
|
|
290
|
-
this.log.info('pyidevice is not installed on your system. ' +
|
|
291
|
-
'Falling back to the (slow) UI-based installation');
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
const tmpRoot = await support_1.tempDir.openDir();
|
|
295
|
-
const tmpPort = await (0, portscanner_1.findAPortNotInUse)(HOST_PORT_RANGE[0], HOST_PORT_RANGE[1]);
|
|
296
|
-
const configName = `appium.${CONFIG_EXTENSION}`;
|
|
297
|
-
const configPath = path_1.default.resolve(tmpRoot, configName);
|
|
298
|
-
const tmpServer = http_1.default.createServer(async function (_, res) {
|
|
299
|
-
const configFile = await support_1.fs.readFile(configPath);
|
|
300
|
-
res.end(configFile);
|
|
301
|
-
});
|
|
302
|
-
try {
|
|
303
|
-
const certBuffer = Buffer.from(content, 'base64');
|
|
304
|
-
const cn = commonName || (await extractCommonName(certBuffer));
|
|
305
|
-
const mobileConfig = toMobileConfig(certBuffer, cn);
|
|
306
|
-
try {
|
|
307
|
-
await support_1.plist.updatePlistFile(configPath, mobileConfig, false, false);
|
|
308
|
-
}
|
|
309
|
-
catch (err) {
|
|
310
|
-
throw new Error(`Cannot store the generated config as '${configPath}'. ` +
|
|
311
|
-
`Original error: ${err.message}`);
|
|
312
|
-
}
|
|
313
|
-
try {
|
|
314
|
-
const host = os_1.default.hostname();
|
|
315
|
-
const certUrl = `http://${host}:${tmpPort}/${configName}`;
|
|
316
|
-
await tmpServer.listen(tmpPort);
|
|
317
|
-
try {
|
|
318
|
-
await (0, asyncbox_1.waitForCondition)(async () => {
|
|
319
|
-
try {
|
|
320
|
-
return (await (0, portscanner_1.checkPortStatus)(tmpPort, host)) === 'open';
|
|
321
|
-
}
|
|
322
|
-
catch {
|
|
323
|
-
return false;
|
|
324
|
-
}
|
|
325
|
-
}, {
|
|
326
|
-
waitMs: TMPSERVER_STARTUP_TIMEOUT,
|
|
327
|
-
intervalMs: 300,
|
|
328
|
-
});
|
|
329
|
-
this.log.debug(`The temporary web server is running at http://${host}:${tmpPort}`);
|
|
330
|
-
}
|
|
331
|
-
catch {
|
|
332
|
-
throw new Error(`The temporary web server cannot be started at http://${host}:${tmpPort}.`);
|
|
333
|
-
}
|
|
334
|
-
if (this.isRealDevice()) {
|
|
335
|
-
try {
|
|
336
|
-
await this.proxyCommand('/url', 'POST', { url: certUrl });
|
|
337
|
-
}
|
|
338
|
-
catch (err) {
|
|
339
|
-
if (this.isWebContext()) {
|
|
340
|
-
// The command above does not always work on real devices
|
|
341
|
-
await this.setUrl(certUrl);
|
|
342
|
-
}
|
|
343
|
-
else {
|
|
344
|
-
throw err;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
await /** @type {import('../driver').Simulator} */ (this.device).openUrl(certUrl);
|
|
350
|
-
}
|
|
351
|
-
let isCertAlreadyInstalled = false;
|
|
352
|
-
if (support_1.util.compareVersions(/** @type {string} */ (this.opts.platformVersion), '>=', '12.2')) {
|
|
353
|
-
if (await installPost122Certificate(this, cn)) {
|
|
354
|
-
await clickElement(this, Settings.Profile);
|
|
355
|
-
await trustCertificateInPreferences(this, cn);
|
|
356
|
-
}
|
|
357
|
-
else {
|
|
358
|
-
isCertAlreadyInstalled = true;
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
else {
|
|
362
|
-
if (await installPre122Certificate(this)) {
|
|
363
|
-
await clickElement(this, Button.Return_to_Settings);
|
|
364
|
-
await trustCertificateInPreferences(this, cn);
|
|
365
|
-
}
|
|
366
|
-
else {
|
|
367
|
-
isCertAlreadyInstalled = true;
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
if (isCertAlreadyInstalled) {
|
|
371
|
-
this.log.info(`It looks like the '${cn}' certificate has been already added to the CA root`);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
finally {
|
|
375
|
-
if (this.opts.bundleId) {
|
|
376
|
-
try {
|
|
377
|
-
await this.activateApp(this.opts.bundleId);
|
|
378
|
-
}
|
|
379
|
-
catch (e) {
|
|
380
|
-
this.log.warn(`Cannot restore the application '${this.opts.bundleId}'. Original error: ${e.message}`);
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
return (await support_1.util.toInMemoryBase64(configPath)).toString();
|
|
385
|
-
}
|
|
386
|
-
finally {
|
|
387
|
-
await tmpServer.close();
|
|
388
|
-
await support_1.fs.rimraf(tmpRoot);
|
|
389
|
-
}
|
|
390
|
-
},
|
|
391
|
-
/**
|
|
392
|
-
* Removes installed certificates.
|
|
393
|
-
*
|
|
394
|
-
* This only works _if and only if_ `py-ios-device` is installed on the same machine Appium is running on.
|
|
395
|
-
*
|
|
396
|
-
* @see https://github.com/YueChen-C/py-ios-device
|
|
397
|
-
* @since 4.19.2
|
|
398
|
-
* @param {string} name - Name of the profile
|
|
399
|
-
* @returns {Promise<string>} Returns status acknowledgment status if
|
|
400
|
-
* tht certificate is successfully removed or 'None' (basically just
|
|
401
|
-
* forwards the original pyidevice output)
|
|
402
|
-
* @throws {Error} If attempting to remove certificates for a simulated device or if `py-ios-device` is not installed
|
|
403
|
-
* @group Real Device Only
|
|
404
|
-
*/
|
|
405
|
-
async mobileRemoveCertificate(name) {
|
|
406
|
-
if (!this.isRealDevice()) {
|
|
407
|
-
throw new driver_1.errors.NotImplementedError('This extension is only supported on real devices');
|
|
408
|
-
}
|
|
409
|
-
const client = new py_ios_device_client_1.Pyidevice({
|
|
410
|
-
udid: this.opts.udid,
|
|
411
|
-
log: this.log,
|
|
412
|
-
});
|
|
413
|
-
await client.assertExists(true);
|
|
414
|
-
return await client.removeProfile(name);
|
|
415
|
-
},
|
|
416
|
-
/**
|
|
417
|
-
* Returns map of certificates installed on the real device.
|
|
418
|
-
*
|
|
419
|
-
* This only works _if and only if_ `py-ios-device` is installed on the same machine Appium is running on.
|
|
420
|
-
* @since 4.10.0
|
|
421
|
-
* @see https://github.com/YueChen-C/py-ios-device
|
|
422
|
-
* @returns {Promise<import('./types').CertificateList>} An object describing the certificates installed on the real device.
|
|
423
|
-
* @throws {Error} If attempting to list certificates for a simulated device or if `py-ios-device` is not installed
|
|
424
|
-
* @this {XCUITestDriver}
|
|
425
|
-
*/
|
|
426
|
-
async mobileListCertificates() {
|
|
427
|
-
if (!this.isRealDevice()) {
|
|
428
|
-
throw new driver_1.errors.NotImplementedError('This extension is only supported on real devices');
|
|
429
|
-
}
|
|
430
|
-
const client = new py_ios_device_client_1.Pyidevice({
|
|
431
|
-
udid: this.opts.udid,
|
|
432
|
-
log: this.log,
|
|
433
|
-
});
|
|
434
|
-
await client.assertExists(true);
|
|
435
|
-
return await client.listProfiles();
|
|
436
|
-
},
|
|
437
|
-
};
|
|
438
451
|
/**
|
|
439
452
|
* @typedef {import('../driver').XCUITestDriver} XCUITestDriver
|
|
440
453
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../../lib/commands/certificate.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../../lib/commands/certificate.js"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
function getClipboard(this: import("../driver").XCUITestDriver, contentType?: string): Promise<string>;
|
|
21
|
-
}
|
|
22
|
-
export default _default;
|
|
1
|
+
/**
|
|
2
|
+
* Sets the primary clipboard's content on the device under test.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} content - The content to be set as base64 encoded string.
|
|
5
|
+
* @param {string} [contentType=plaintext] - The type of the content to set.
|
|
6
|
+
* Only `plaintext`, 'image and 'url' are supported.
|
|
7
|
+
* @this {XCUITestDriver}
|
|
8
|
+
*/
|
|
9
|
+
export function setClipboard(this: import("../driver").XCUITestDriver, content: string, contentType?: string): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the content of the primary clipboard on the device under test.
|
|
12
|
+
*
|
|
13
|
+
* @param {string} [contentType=plaintext] - The type of the content to get.
|
|
14
|
+
* Only `plaintext`, 'image and 'url' are supported.
|
|
15
|
+
* @returns {Promise<string>} The actual clipboard content encoded into base64 string.
|
|
16
|
+
* An empty string is returned if the clipboard contains no data.
|
|
17
|
+
* @this {XCUITestDriver}
|
|
18
|
+
*/
|
|
19
|
+
export function getClipboard(this: import("../driver").XCUITestDriver, contentType?: string): Promise<string>;
|
|
23
20
|
export type XCUITestDriver = import("../driver").XCUITestDriver;
|
|
24
21
|
//# sourceMappingURL=clipboard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../lib/commands/clipboard.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../lib/commands/clipboard.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,gFALW,MAAM,gBACN,MAAM,iBAShB;AAED;;;;;;;;GAQG;AACH,qFANW,MAAM,GAEJ,OAAO,CAAC,MAAM,CAAC,CAU3B;6BAGY,OAAO,WAAW,EAAE,cAAc"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
}
|
|
3
|
+
exports.setClipboard = setClipboard;
|
|
4
|
+
exports.getClipboard = getClipboard;
|
|
5
|
+
/**
|
|
6
|
+
* Sets the primary clipboard's content on the device under test.
|
|
7
|
+
*
|
|
8
|
+
* @param {string} content - The content to be set as base64 encoded string.
|
|
9
|
+
* @param {string} [contentType=plaintext] - The type of the content to set.
|
|
10
|
+
* Only `plaintext`, 'image and 'url' are supported.
|
|
11
|
+
* @this {XCUITestDriver}
|
|
12
|
+
*/
|
|
13
|
+
async function setClipboard(content, contentType) {
|
|
14
|
+
await this.proxyCommand('/wda/setPasteboard', 'POST', {
|
|
15
|
+
content,
|
|
16
|
+
contentType,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Gets the content of the primary clipboard on the device under test.
|
|
21
|
+
*
|
|
22
|
+
* @param {string} [contentType=plaintext] - The type of the content to get.
|
|
23
|
+
* Only `plaintext`, 'image and 'url' are supported.
|
|
24
|
+
* @returns {Promise<string>} The actual clipboard content encoded into base64 string.
|
|
25
|
+
* An empty string is returned if the clipboard contains no data.
|
|
26
|
+
* @this {XCUITestDriver}
|
|
27
|
+
*/
|
|
28
|
+
async function getClipboard(contentType) {
|
|
29
|
+
return /** @type {string} */ (await this.proxyCommand('/wda/getPasteboard', 'POST', {
|
|
30
|
+
contentType,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
33
|
/**
|
|
34
34
|
* @typedef {import('../driver').XCUITestDriver} XCUITestDriver
|
|
35
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../../lib/commands/clipboard.js"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../../lib/commands/clipboard.js"],"names":[],"mappings":";;AAQA,oCAKC;AAWD,oCAMC;AA9BD;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CAAC,OAAO,EAAE,WAAW;IACrD,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,EAAE;QACpD,OAAO;QACP,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,YAAY,CAAC,WAAW;IAC5C,OAAO,qBAAqB,CAAC,CAC3B,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,EAAE;QACpD,WAAW;KACZ,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;GAEG"}
|