https://github.com/airtap/sauce-browsers
Get a list of normalized Sauce Labs browsers as browser manifests.
https://github.com/airtap/sauce-browsers
airtap browsers nodejs npm-package sauce-labs
Last synced: about 1 month ago
JSON representation
Get a list of normalized Sauce Labs browsers as browser manifests.
- Host: GitHub
- URL: https://github.com/airtap/sauce-browsers
- Owner: airtap
- License: mit
- Created: 2020-01-25T13:09:46.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-01T08:00:49.000Z (almost 3 years ago)
- Last Synced: 2024-05-13T16:24:03.333Z (over 1 year ago)
- Topics: airtap, browsers, nodejs, npm-package, sauce-labs
- Language: JavaScript
- Homepage:
- Size: 400 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# airtap-sauce-browsers
> **Get a list of normalized Sauce Labs browsers as [browser manifests](https://github.com/airtap/browser-manifest).**
> Replaces [`sauce-browsers`](https://github.com/lpinca/sauce-browsers).[](https://www.npmjs.org/package/airtap-sauce-browsers)
[](https://www.npmjs.org/package/airtap-sauce-browsers)
[](https://travis-ci.com/airtap/sauce-browsers)
[](https://standardjs.com)## Usage
```js
const asb = require('airtap-sauce-browsers').promise
const manifests = await asb()console.log(manifests)
``````js
const asb = require('airtap-sauce-browsers').callbackasb(function (err, manifests) {
if (err) throw errconsole.log(manifests)
})
```For an example of the output, see [`expected.json`](expected.json). To match browser names to your own preferred alias, you can use [`browser-names`](https://github.com/airtap/browser-names).
## Differences from [`sauce-browsers`](https://github.com/lpinca/sauce-browsers)
**Breaking changes**
- New format
- Does not perform matching, that's handled by [`airtap-match-browsers`](https://github.com/airtap/match-browsers). This just returns a list of all browsers available on Sauce Labs.
- For mobile browsers, the `platform` field previously mapped to the host OS (Linux or MacOS) that runs the Android emulator or iOS simulator. It now maps to either Android or iOS.
- `name: android` only matches _Android Browser_. Previously it could match both _Android Browser_ and _Chrome for Android_. If both were available on a particular Android version then Sauce Labs would pick _Chrome for Android_. If you want to test in _Chrome for Android_, you must now use `name: and_chr` or its more descriptive alias `chrome for android`.
- iOS browsers have the name "ios_saf" (iOS Safari) rather than "ipad" or "iphone". For now, Airtap will match the old names for backwards compatibility.**Additions**
- Also includes Appium-only browsers (missing in `sauce-browsers`) which notably includes Android 7+ and removes the need for a workaround in Airtap.
- For Android, `airtap-sauce-browsers` includes both _Chrome for Android_ and _Android Browser_ if available. This is not directly reflected in the Sauce Labs API; `airtap-sauce-browsers` infers the availability of the extra browser from `api_name` and `version`.
- Adds `capabilities` for Appium (if a mobile browser), legacy WebDriver (if a desktop browser) and / or W3C WebDriver (if supported by the browser)
- Includes metadata that says whether the browser needs the "loopback" functionality of Airtap.
- Includes `recommendedBackendVersion` for Appium.## Install
With [npm](https://npmjs.org) do:
```
npm install airtap-sauce-browsers
```## License
[MIT](LICENSE.md) © 2020-present Vincent Weevers