appium-safari-driver 3.3.4 → 3.4.0

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 CHANGED
@@ -1,3 +1,10 @@
1
+ ## [3.4.0](https://github.com/appium/appium-safari-driver/compare/v3.3.4...v3.4.0) (2023-07-14)
2
+
3
+
4
+ ### Features
5
+
6
+ * add acceptInsecureCerts as safaridriver 15.4+ have it ([#63](https://github.com/appium/appium-safari-driver/issues/63)) ([0bf746a](https://github.com/appium/appium-safari-driver/commit/0bf746a3455c61313aeca0a75e9ee0877bc1661b))
7
+
1
8
  ## [3.3.4](https://github.com/appium/appium-safari-driver/compare/v3.3.3...v3.3.4) (2023-07-14)
2
9
 
3
10
 
package/README.md CHANGED
@@ -12,7 +12,7 @@ Under the hood this driver is a wrapper/proxy over Apple's `safaridriver` binary
12
12
 
13
13
  > **Note**
14
14
  >
15
- > Since version 3.0.0 Safari driver has dropped the support of Appium 1, and is only compatible to Appium 2. Use the `appium driver install safari`
15
+ > Since version 3.0.0 Safari driver has dropped the support of Appium 1, and is only compatible to Appium 2. Use the `appium driver install safari`
16
16
  > command to add it to your Appium 2 dist.
17
17
 
18
18
 
@@ -34,6 +34,7 @@ platformName | safaridriver binary can only create WebDriver sessions for deskto
34
34
  automationName | Value of automationName must equal to 'Safari' in order to start Safari driver session. Values of automationName are compared case-insensitively.
35
35
  browserName | safaridriver can only create WebDriver sessions for Safari. Any value passed to this capability will be changed to 'Safari'.
36
36
  browserVersion | safaridriver will only create a session using hosts whose Safari version matches the value of browserVersion. Browser version numbers are prefix-matched. For example, if the value of browserVersion is '12', this will allow hosts with a Safari version of '12.0.1' or '12.1'.
37
+ acceptInsecureCerts | Makes the browser to ignore the appropriate security warning and thus allows navigation to web sites having invalid or expired TLS certificates. The capability is supported since safaridriver v15.4.
37
38
  safari:platformVersion | safaridriver will only create a session using hosts whose OS version matches the value of safari:platformVersion. OS version numbers are prefix-matched. For example, if the value of safari:platformVersion is '12', this will allow hosts with an OS version of '12.0' or '12.1' but not '10.12'.
38
39
  safari:platformBuildVersion | safaridriver will only create a session using hosts whose OS build version matches the value of safari:platformBuildVersion. example of a macOS build version is '18E193'. On macOS, the OS build version can be determined by running the sw_vers(1) utility.
39
40
  safari:useSimulator | If the value of safari:useSimulator is true, safaridriver will only use iOS Simulator hosts. If the value of safari:useSimulator is false, safaridriver will not use iOS Simulator hosts. NOTE: An Xcode installation is required in order to run WebDriver tests on iOS Simulator hosts.
@@ -153,4 +154,3 @@ npm install
153
154
  npm run lint
154
155
  npm run test
155
156
  ```
156
-
@@ -12,6 +12,9 @@ const desiredCapConstraints = {
12
12
  browserVersion: {
13
13
  isString: true
14
14
  },
15
+ acceptInsecureCerts: {
16
+ isBoolean: true
17
+ },
15
18
  'safari:platformVersion': {
16
19
  isString: true
17
20
  },
@@ -41,4 +44,4 @@ const desiredCapConstraints = {
41
44
  }
42
45
  };
43
46
  exports.desiredCapConstraints = desiredCapConstraints;
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZXNpcmVkQ2FwQ29uc3RyYWludHMiLCJicm93c2VyTmFtZSIsImlzU3RyaW5nIiwiYnJvd3NlclZlcnNpb24iLCJpc0Jvb2xlYW4iLCJpc09iamVjdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9saWIvZGVzaXJlZC1jYXBzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGRlc2lyZWRDYXBDb25zdHJhaW50cyA9IHtcbiAgYnJvd3Nlck5hbWU6IHtcbiAgICBpc1N0cmluZzogdHJ1ZSxcbiAgfSxcbiAgYnJvd3NlclZlcnNpb246IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICAnc2FmYXJpOnBsYXRmb3JtVmVyc2lvbic6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICAnc2FmYXJpOnBsYXRmb3JtQnVpbGRWZXJzaW9uJzoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gICdzYWZhcmk6dXNlU2ltdWxhdG9yJzoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICAnc2FmYXJpOmRldmljZVR5cGUnOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgJ3NhZmFyaTpkZXZpY2VOYW1lJzoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gICdzYWZhcmk6ZGV2aWNlVURJRCc6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICAnc2FmYXJpOmF1dG9tYXRpY0luc3BlY3Rpb24nOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gICdzYWZhcmk6YXV0b21hdGljUHJvZmlsaW5nJzoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICAnd2Via2l0OldlYlJUQyc6IHtcbiAgICBpc09iamVjdDogdHJ1ZVxuICB9LFxufTtcblxuZXhwb3J0IHsgZGVzaXJlZENhcENvbnN0cmFpbnRzIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxxQkFBcUIsR0FBRztFQUM1QkMsV0FBVyxFQUFFO0lBQ1hDLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREMsY0FBYyxFQUFFO0lBQ2RELFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDRCx3QkFBd0IsRUFBRTtJQUN4QkEsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNELDZCQUE2QixFQUFFO0lBQzdCQSxRQUFRLEVBQUU7RUFDWixDQUFDO0VBQ0QscUJBQXFCLEVBQUU7SUFDckJFLFNBQVMsRUFBRTtFQUNiLENBQUM7RUFDRCxtQkFBbUIsRUFBRTtJQUNuQkYsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNELG1CQUFtQixFQUFFO0lBQ25CQSxRQUFRLEVBQUU7RUFDWixDQUFDO0VBQ0QsbUJBQW1CLEVBQUU7SUFDbkJBLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDRCw0QkFBNEIsRUFBRTtJQUM1QkUsU0FBUyxFQUFFO0VBQ2IsQ0FBQztFQUNELDJCQUEyQixFQUFFO0lBQzNCQSxTQUFTLEVBQUU7RUFDYixDQUFDO0VBQ0QsZUFBZSxFQUFFO0lBQ2ZDLFFBQVEsRUFBRTtFQUNaO0FBQ0YsQ0FBQztBQUFDQyxPQUFBLENBQUFOLHFCQUFBLEdBQUFBLHFCQUFBIn0=
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZXNpcmVkQ2FwQ29uc3RyYWludHMiLCJicm93c2VyTmFtZSIsImlzU3RyaW5nIiwiYnJvd3NlclZlcnNpb24iLCJhY2NlcHRJbnNlY3VyZUNlcnRzIiwiaXNCb29sZWFuIiwiaXNPYmplY3QiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2Rlc2lyZWQtY2Fwcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBkZXNpcmVkQ2FwQ29uc3RyYWludHMgPSB7XG4gIGJyb3dzZXJOYW1lOiB7XG4gICAgaXNTdHJpbmc6IHRydWUsXG4gIH0sXG4gIGJyb3dzZXJWZXJzaW9uOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYWNjZXB0SW5zZWN1cmVDZXJ0czoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICAnc2FmYXJpOnBsYXRmb3JtVmVyc2lvbic6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICAnc2FmYXJpOnBsYXRmb3JtQnVpbGRWZXJzaW9uJzoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gICdzYWZhcmk6dXNlU2ltdWxhdG9yJzoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICAnc2FmYXJpOmRldmljZVR5cGUnOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgJ3NhZmFyaTpkZXZpY2VOYW1lJzoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gICdzYWZhcmk6ZGV2aWNlVURJRCc6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICAnc2FmYXJpOmF1dG9tYXRpY0luc3BlY3Rpb24nOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gICdzYWZhcmk6YXV0b21hdGljUHJvZmlsaW5nJzoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICAnd2Via2l0OldlYlJUQyc6IHtcbiAgICBpc09iamVjdDogdHJ1ZVxuICB9LFxufTtcblxuZXhwb3J0IHsgZGVzaXJlZENhcENvbnN0cmFpbnRzIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxxQkFBcUIsR0FBRztFQUM1QkMsV0FBVyxFQUFFO0lBQ1hDLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREMsY0FBYyxFQUFFO0lBQ2RELFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREUsbUJBQW1CLEVBQUU7SUFDbkJDLFNBQVMsRUFBRTtFQUNiLENBQUM7RUFDRCx3QkFBd0IsRUFBRTtJQUN4QkgsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNELDZCQUE2QixFQUFFO0lBQzdCQSxRQUFRLEVBQUU7RUFDWixDQUFDO0VBQ0QscUJBQXFCLEVBQUU7SUFDckJHLFNBQVMsRUFBRTtFQUNiLENBQUM7RUFDRCxtQkFBbUIsRUFBRTtJQUNuQkgsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNELG1CQUFtQixFQUFFO0lBQ25CQSxRQUFRLEVBQUU7RUFDWixDQUFDO0VBQ0QsbUJBQW1CLEVBQUU7SUFDbkJBLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDRCw0QkFBNEIsRUFBRTtJQUM1QkcsU0FBUyxFQUFFO0VBQ2IsQ0FBQztFQUNELDJCQUEyQixFQUFFO0lBQzNCQSxTQUFTLEVBQUU7RUFDYixDQUFDO0VBQ0QsZUFBZSxFQUFFO0lBQ2ZDLFFBQVEsRUFBRTtFQUNaO0FBQ0YsQ0FBQztBQUFDQyxPQUFBLENBQUFQLHFCQUFBLEdBQUFBLHFCQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"desired-caps.js","names":["desiredCapConstraints","browserName","isString","browserVersion","isBoolean","isObject","exports"],"sources":["../../lib/desired-caps.js"],"sourcesContent":["const desiredCapConstraints = {\n browserName: {\n isString: true,\n },\n browserVersion: {\n isString: true\n },\n 'safari:platformVersion': {\n isString: true\n },\n 'safari:platformBuildVersion': {\n isString: true\n },\n 'safari:useSimulator': {\n isBoolean: true\n },\n 'safari:deviceType': {\n isString: true\n },\n 'safari:deviceName': {\n isString: true\n },\n 'safari:deviceUDID': {\n isString: true\n },\n 'safari:automaticInspection': {\n isBoolean: true\n },\n 'safari:automaticProfiling': {\n isBoolean: true\n },\n 'webkit:WebRTC': {\n isObject: true\n },\n};\n\nexport { desiredCapConstraints };\n"],"mappings":";;;;;;;AAAA,MAAMA,qBAAqB,GAAG;EAC5BC,WAAW,EAAE;IACXC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdD,QAAQ,EAAE;EACZ,CAAC;EACD,wBAAwB,EAAE;IACxBA,QAAQ,EAAE;EACZ,CAAC;EACD,6BAA6B,EAAE;IAC7BA,QAAQ,EAAE;EACZ,CAAC;EACD,qBAAqB,EAAE;IACrBE,SAAS,EAAE;EACb,CAAC;EACD,mBAAmB,EAAE;IACnBF,QAAQ,EAAE;EACZ,CAAC;EACD,mBAAmB,EAAE;IACnBA,QAAQ,EAAE;EACZ,CAAC;EACD,mBAAmB,EAAE;IACnBA,QAAQ,EAAE;EACZ,CAAC;EACD,4BAA4B,EAAE;IAC5BE,SAAS,EAAE;EACb,CAAC;EACD,2BAA2B,EAAE;IAC3BA,SAAS,EAAE;EACb,CAAC;EACD,eAAe,EAAE;IACfC,QAAQ,EAAE;EACZ;AACF,CAAC;AAACC,OAAA,CAAAN,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"file":"desired-caps.js","names":["desiredCapConstraints","browserName","isString","browserVersion","acceptInsecureCerts","isBoolean","isObject","exports"],"sources":["../../lib/desired-caps.js"],"sourcesContent":["const desiredCapConstraints = {\n browserName: {\n isString: true,\n },\n browserVersion: {\n isString: true\n },\n acceptInsecureCerts: {\n isBoolean: true\n },\n 'safari:platformVersion': {\n isString: true\n },\n 'safari:platformBuildVersion': {\n isString: true\n },\n 'safari:useSimulator': {\n isBoolean: true\n },\n 'safari:deviceType': {\n isString: true\n },\n 'safari:deviceName': {\n isString: true\n },\n 'safari:deviceUDID': {\n isString: true\n },\n 'safari:automaticInspection': {\n isBoolean: true\n },\n 'safari:automaticProfiling': {\n isBoolean: true\n },\n 'webkit:WebRTC': {\n isObject: true\n },\n};\n\nexport { desiredCapConstraints };\n"],"mappings":";;;;;;;AAAA,MAAMA,qBAAqB,GAAG;EAC5BC,WAAW,EAAE;IACXC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdD,QAAQ,EAAE;EACZ,CAAC;EACDE,mBAAmB,EAAE;IACnBC,SAAS,EAAE;EACb,CAAC;EACD,wBAAwB,EAAE;IACxBH,QAAQ,EAAE;EACZ,CAAC;EACD,6BAA6B,EAAE;IAC7BA,QAAQ,EAAE;EACZ,CAAC;EACD,qBAAqB,EAAE;IACrBG,SAAS,EAAE;EACb,CAAC;EACD,mBAAmB,EAAE;IACnBH,QAAQ,EAAE;EACZ,CAAC;EACD,mBAAmB,EAAE;IACnBA,QAAQ,EAAE;EACZ,CAAC;EACD,mBAAmB,EAAE;IACnBA,QAAQ,EAAE;EACZ,CAAC;EACD,4BAA4B,EAAE;IAC5BG,SAAS,EAAE;EACb,CAAC;EACD,2BAA2B,EAAE;IAC3BA,SAAS,EAAE;EACb,CAAC;EACD,eAAe,EAAE;IACfC,QAAQ,EAAE;EACZ;AACF,CAAC;AAACC,OAAA,CAAAP,qBAAA,GAAAA,qBAAA"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.formatCapsForServer = formatCapsForServer;
8
8
  require("source-map-support/register");
9
+ var _driver = require("appium/driver");
9
10
  var _lodash = _interopRequireDefault(require("lodash"));
10
11
  const SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];
11
12
  function formatCapsForServer(caps) {
@@ -17,8 +18,10 @@ function formatCapsForServer(caps) {
17
18
  for (const [name, value] of _lodash.default.toPairs(caps)) {
18
19
  if (SAFARI_CAP_PREFIXES.some(prefix => name.startsWith(prefix))) {
19
20
  result[name] = value;
21
+ } else if (!_lodash.default.has(result, name) && _driver.STANDARD_CAPS.has(name)) {
22
+ result[name] = value;
20
23
  }
21
24
  }
22
25
  return result;
23
26
  }
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJTQUZBUklfQ0FQX1BSRUZJWEVTIiwiZm9ybWF0Q2Fwc0ZvclNlcnZlciIsImNhcHMiLCJyZXN1bHQiLCJicm93c2VyTmFtZSIsImJyb3dzZXJWZXJzaW9uIiwicGxhdGZvcm1OYW1lIiwibmFtZSIsInZhbHVlIiwiXyIsInRvUGFpcnMiLCJzb21lIiwicHJlZml4Iiwic3RhcnRzV2l0aCJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCBTQUZBUklfQ0FQX1BSRUZJWEVTID0gWydzYWZhcmk6JywgJ3dlYmtpdDonXTtcblxuZnVuY3Rpb24gZm9ybWF0Q2Fwc0ZvclNlcnZlciAoY2Fwcykge1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgYnJvd3Nlck5hbWU6ICdTYWZhcmknLFxuICAgIGJyb3dzZXJWZXJzaW9uOiBjYXBzLmJyb3dzZXJWZXJzaW9uLFxuICAgIHBsYXRmb3JtTmFtZTogY2Fwcy5wbGF0Zm9ybU5hbWUgfHwgJ2lPUycsXG4gIH07XG4gIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBfLnRvUGFpcnMoY2FwcykpIHtcbiAgICBpZiAoU0FGQVJJX0NBUF9QUkVGSVhFUy5zb21lKChwcmVmaXgpID0+IG5hbWUuc3RhcnRzV2l0aChwcmVmaXgpKSkge1xuICAgICAgcmVzdWx0W25hbWVdID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCB7IGZvcm1hdENhcHNGb3JTZXJ2ZXIgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNQyxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7QUFFbEQsU0FBU0MsbUJBQW1CQSxDQUFFQyxJQUFJLEVBQUU7RUFDbEMsTUFBTUMsTUFBTSxHQUFHO0lBQ2JDLFdBQVcsRUFBRSxRQUFRO0lBQ3JCQyxjQUFjLEVBQUVILElBQUksQ0FBQ0csY0FBYztJQUNuQ0MsWUFBWSxFQUFFSixJQUFJLENBQUNJLFlBQVksSUFBSTtFQUNyQyxDQUFDO0VBQ0QsS0FBSyxNQUFNLENBQUNDLElBQUksRUFBRUMsS0FBSyxDQUFDLElBQUlDLGVBQUMsQ0FBQ0MsT0FBTyxDQUFDUixJQUFJLENBQUMsRUFBRTtJQUMzQyxJQUFJRixtQkFBbUIsQ0FBQ1csSUFBSSxDQUFFQyxNQUFNLElBQUtMLElBQUksQ0FBQ00sVUFBVSxDQUFDRCxNQUFNLENBQUMsQ0FBQyxFQUFFO01BQ2pFVCxNQUFNLENBQUNJLElBQUksQ0FBQyxHQUFHQyxLQUFLO0lBQ3RCO0VBQ0Y7RUFDQSxPQUFPTCxNQUFNO0FBQ2YifQ==
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZHJpdmVyIiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiU0FGQVJJX0NBUF9QUkVGSVhFUyIsImZvcm1hdENhcHNGb3JTZXJ2ZXIiLCJjYXBzIiwicmVzdWx0IiwiYnJvd3Nlck5hbWUiLCJicm93c2VyVmVyc2lvbiIsInBsYXRmb3JtTmFtZSIsIm5hbWUiLCJ2YWx1ZSIsIl8iLCJ0b1BhaXJzIiwic29tZSIsInByZWZpeCIsInN0YXJ0c1dpdGgiLCJoYXMiLCJTVEFOREFSRF9DQVBTIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNUQU5EQVJEX0NBUFMgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmNvbnN0IFNBRkFSSV9DQVBfUFJFRklYRVMgPSBbJ3NhZmFyaTonLCAnd2Via2l0OiddO1xuXG5mdW5jdGlvbiBmb3JtYXRDYXBzRm9yU2VydmVyIChjYXBzKSB7XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBicm93c2VyTmFtZTogJ1NhZmFyaScsXG4gICAgYnJvd3NlclZlcnNpb246IGNhcHMuYnJvd3NlclZlcnNpb24sXG4gICAgcGxhdGZvcm1OYW1lOiBjYXBzLnBsYXRmb3JtTmFtZSB8fCAnaU9TJyxcbiAgfTtcbiAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIF8udG9QYWlycyhjYXBzKSkge1xuICAgIGlmIChTQUZBUklfQ0FQX1BSRUZJWEVTLnNvbWUoKHByZWZpeCkgPT4gbmFtZS5zdGFydHNXaXRoKHByZWZpeCkpKSB7XG4gICAgICByZXN1bHRbbmFtZV0gPSB2YWx1ZTtcbiAgICB9IGVsc2UgaWYgKCFfLmhhcyhyZXN1bHQsIG5hbWUpICYmIFNUQU5EQVJEX0NBUFMuaGFzKG5hbWUpKSB7XG4gICAgICByZXN1bHRbbmFtZV0gPSB2YWx1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IHsgZm9ybWF0Q2Fwc0ZvclNlcnZlciB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLE1BQU1HLG1CQUFtQixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztBQUVsRCxTQUFTQyxtQkFBbUJBLENBQUVDLElBQUksRUFBRTtFQUNsQyxNQUFNQyxNQUFNLEdBQUc7SUFDYkMsV0FBVyxFQUFFLFFBQVE7SUFDckJDLGNBQWMsRUFBRUgsSUFBSSxDQUFDRyxjQUFjO0lBQ25DQyxZQUFZLEVBQUVKLElBQUksQ0FBQ0ksWUFBWSxJQUFJO0VBQ3JDLENBQUM7RUFDRCxLQUFLLE1BQU0sQ0FBQ0MsSUFBSSxFQUFFQyxLQUFLLENBQUMsSUFBSUMsZUFBQyxDQUFDQyxPQUFPLENBQUNSLElBQUksQ0FBQyxFQUFFO0lBQzNDLElBQUlGLG1CQUFtQixDQUFDVyxJQUFJLENBQUVDLE1BQU0sSUFBS0wsSUFBSSxDQUFDTSxVQUFVLENBQUNELE1BQU0sQ0FBQyxDQUFDLEVBQUU7TUFDakVULE1BQU0sQ0FBQ0ksSUFBSSxDQUFDLEdBQUdDLEtBQUs7SUFDdEIsQ0FBQyxNQUFNLElBQUksQ0FBQ0MsZUFBQyxDQUFDSyxHQUFHLENBQUNYLE1BQU0sRUFBRUksSUFBSSxDQUFDLElBQUlRLHFCQUFhLENBQUNELEdBQUcsQ0FBQ1AsSUFBSSxDQUFDLEVBQUU7TUFDMURKLE1BQU0sQ0FBQ0ksSUFBSSxDQUFDLEdBQUdDLEtBQUs7SUFDdEI7RUFDRjtFQUNBLE9BQU9MLE1BQU07QUFDZiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_lodash","_interopRequireDefault","require","SAFARI_CAP_PREFIXES","formatCapsForServer","caps","result","browserName","browserVersion","platformName","name","value","_","toPairs","some","prefix","startsWith"],"sources":["../../lib/utils.js"],"sourcesContent":["import _ from 'lodash';\n\nconst SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];\n\nfunction formatCapsForServer (caps) {\n const result = {\n browserName: 'Safari',\n browserVersion: caps.browserVersion,\n platformName: caps.platformName || 'iOS',\n };\n for (const [name, value] of _.toPairs(caps)) {\n if (SAFARI_CAP_PREFIXES.some((prefix) => name.startsWith(prefix))) {\n result[name] = value;\n }\n }\n return result;\n}\n\nexport { formatCapsForServer };\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,MAAMC,mBAAmB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;AAElD,SAASC,mBAAmBA,CAAEC,IAAI,EAAE;EAClC,MAAMC,MAAM,GAAG;IACbC,WAAW,EAAE,QAAQ;IACrBC,cAAc,EAAEH,IAAI,CAACG,cAAc;IACnCC,YAAY,EAAEJ,IAAI,CAACI,YAAY,IAAI;EACrC,CAAC;EACD,KAAK,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,IAAIC,eAAC,CAACC,OAAO,CAACR,IAAI,CAAC,EAAE;IAC3C,IAAIF,mBAAmB,CAACW,IAAI,CAAEC,MAAM,IAAKL,IAAI,CAACM,UAAU,CAACD,MAAM,CAAC,CAAC,EAAE;MACjET,MAAM,CAACI,IAAI,CAAC,GAAGC,KAAK;IACtB;EACF;EACA,OAAOL,MAAM;AACf"}
1
+ {"version":3,"file":"utils.js","names":["_driver","require","_lodash","_interopRequireDefault","SAFARI_CAP_PREFIXES","formatCapsForServer","caps","result","browserName","browserVersion","platformName","name","value","_","toPairs","some","prefix","startsWith","has","STANDARD_CAPS"],"sources":["../../lib/utils.js"],"sourcesContent":["import { STANDARD_CAPS } from 'appium/driver';\nimport _ from 'lodash';\n\nconst SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];\n\nfunction formatCapsForServer (caps) {\n const result = {\n browserName: 'Safari',\n browserVersion: caps.browserVersion,\n platformName: caps.platformName || 'iOS',\n };\n for (const [name, value] of _.toPairs(caps)) {\n if (SAFARI_CAP_PREFIXES.some((prefix) => name.startsWith(prefix))) {\n result[name] = value;\n } else if (!_.has(result, name) && STANDARD_CAPS.has(name)) {\n result[name] = value;\n }\n }\n return result;\n}\n\nexport { formatCapsForServer };\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,MAAMG,mBAAmB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;AAElD,SAASC,mBAAmBA,CAAEC,IAAI,EAAE;EAClC,MAAMC,MAAM,GAAG;IACbC,WAAW,EAAE,QAAQ;IACrBC,cAAc,EAAEH,IAAI,CAACG,cAAc;IACnCC,YAAY,EAAEJ,IAAI,CAACI,YAAY,IAAI;EACrC,CAAC;EACD,KAAK,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,IAAIC,eAAC,CAACC,OAAO,CAACR,IAAI,CAAC,EAAE;IAC3C,IAAIF,mBAAmB,CAACW,IAAI,CAAEC,MAAM,IAAKL,IAAI,CAACM,UAAU,CAACD,MAAM,CAAC,CAAC,EAAE;MACjET,MAAM,CAACI,IAAI,CAAC,GAAGC,KAAK;IACtB,CAAC,MAAM,IAAI,CAACC,eAAC,CAACK,GAAG,CAACX,MAAM,EAAEI,IAAI,CAAC,IAAIQ,qBAAa,CAACD,GAAG,CAACP,IAAI,CAAC,EAAE;MAC1DJ,MAAM,CAACI,IAAI,CAAC,GAAGC,KAAK;IACtB;EACF;EACA,OAAOL,MAAM;AACf"}
@@ -5,6 +5,9 @@ const desiredCapConstraints = {
5
5
  browserVersion: {
6
6
  isString: true
7
7
  },
8
+ acceptInsecureCerts: {
9
+ isBoolean: true
10
+ },
8
11
  'safari:platformVersion': {
9
12
  isString: true
10
13
  },
package/lib/utils.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { STANDARD_CAPS } from 'appium/driver';
1
2
  import _ from 'lodash';
2
3
 
3
4
  const SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];
@@ -11,6 +12,8 @@ function formatCapsForServer (caps) {
11
12
  for (const [name, value] of _.toPairs(caps)) {
12
13
  if (SAFARI_CAP_PREFIXES.some((prefix) => name.startsWith(prefix))) {
13
14
  result[name] = value;
15
+ } else if (!_.has(result, name) && STANDARD_CAPS.has(name)) {
16
+ result[name] = value;
14
17
  }
15
18
  }
16
19
  return result;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "appium-safari-driver",
3
- "version": "3.3.4",
3
+ "version": "3.4.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "appium-safari-driver",
9
- "version": "3.3.4",
9
+ "version": "3.4.0",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@babel/runtime": "^7.0.0",
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "appium",
6
6
  "safari"
7
7
  ],
8
- "version": "3.3.4",
8
+ "version": "3.4.0",
9
9
  "author": "Appium Contributors",
10
10
  "license": "Apache-2.0",
11
11
  "repository": {
@@ -26,11 +26,12 @@ describe('formatCapsForServer', function () {
26
26
  });
27
27
  });
28
28
 
29
- it('should only pass caps with supported prefixes', function () {
29
+ it('should only pass caps with supported prefixes and standard caps', function () {
30
30
  const result = formatCapsForServer({
31
31
  'safari:deviceUDID': '1234',
32
32
  'webkit:yolo': '567',
33
33
  'appium:bar': '789',
34
+ 'acceptInsecureCerts': true
34
35
  });
35
36
  result.should.eql({
36
37
  browserName: 'Safari',
@@ -38,6 +39,7 @@ describe('formatCapsForServer', function () {
38
39
  platformName: 'iOS',
39
40
  'safari:deviceUDID': '1234',
40
41
  'webkit:yolo': '567',
42
+ 'acceptInsecureCerts': true
41
43
  });
42
44
  });
43
45
  });