appium-geckodriver 1.1.2 → 1.1.4
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/.eslintignore +1 -0
- package/.eslintrc.json +11 -0
- package/.github/workflows/functional-test.yml +71 -0
- package/.github/workflows/pr-title.yml +15 -0
- package/.github/workflows/publish.js.yml +4 -4
- package/.github/workflows/unit-test.yml +43 -0
- package/.mocharc.js +4 -0
- package/README.md +7 -3
- package/babel.config.json +25 -0
- package/build/index.js +2 -8
- package/build/index.js.map +1 -0
- package/build/lib/commands/find.js +2 -9
- package/build/lib/commands/find.js.map +1 -0
- package/build/lib/commands/index.js +2 -8
- package/build/lib/commands/index.js.map +1 -0
- package/build/lib/constants.js +2 -6
- package/build/lib/constants.js.map +1 -0
- package/build/lib/desired-caps.js +2 -7
- package/build/lib/desired-caps.js.map +1 -0
- package/build/lib/driver.js +2 -25
- package/build/lib/driver.js.map +1 -0
- package/build/lib/gecko.js +3 -65
- package/build/lib/gecko.js.map +1 -0
- package/build/lib/logger.js +2 -8
- package/build/lib/logger.js.map +1 -0
- package/build/lib/utils.js +2 -13
- package/build/lib/utils.js.map +1 -0
- package/npm-shrinkwrap.json +2102 -1174
- package/package.json +40 -23
- package/{azure-templates → scripts}/xvfb.sh +0 -0
- package/test/unit/driver-specs.js +1 -1
- package/.azure-pipelines.yml +0 -54
- package/.eslintrc +0 -3
- package/azure-templates/firefox_setup_steps.yml +0 -14
- package/azure-templates/node_setup_steps.yml +0 -4
- package/build/test/functional/desktop-driver-e2e-specs.js +0 -48
- package/build/test/functional/mobile-driver-e2e-specs.js +0 -59
- package/build/test/unit/driver-specs.js +0 -20
- package/build/test/unit/utils-specs.js +0 -46
- package/build/test/utils.js +0 -18
- package/gulpfile.js +0 -13
package/.eslintignore
CHANGED
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
name: Functional Tests
|
|
2
|
+
|
|
3
|
+
on: [pull_request]
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
test:
|
|
8
|
+
env:
|
|
9
|
+
CI: true
|
|
10
|
+
APPIUM_TEST_SERVER_PORT: 4567
|
|
11
|
+
APPIUM_TEST_SERVER_HOST: 127.0.0.1
|
|
12
|
+
APPIUM_STARTUP_TIMEOUT_SEC: 30
|
|
13
|
+
DISPLAY: :10
|
|
14
|
+
_FORCE_LOGS: 1
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v3
|
|
18
|
+
- uses: actions/setup-node@v3
|
|
19
|
+
with:
|
|
20
|
+
node-version: lts/*
|
|
21
|
+
check-latest: true
|
|
22
|
+
- run: |
|
|
23
|
+
sudo cp scripts/xvfb.sh /etc/init.d/xvfb
|
|
24
|
+
sudo chmod +x /etc/init.d/xvfb
|
|
25
|
+
sudo update-rc.d xvfb defaults
|
|
26
|
+
sudo service xvfb start
|
|
27
|
+
name: Start X virtual frame buffer
|
|
28
|
+
- run: sudo apt-get install firefox
|
|
29
|
+
name: Install Firefox
|
|
30
|
+
- run: |
|
|
31
|
+
latest_release="$(curl https://api.github.com/repos/mozilla/geckodriver/releases/latest | jq -r .name)"
|
|
32
|
+
curl -L "https://github.com/mozilla/geckodriver/releases/download/v${latest_release}/geckodriver-v${latest_release}-linux64.tar.gz" \
|
|
33
|
+
--output /tmp/geckodriver.tar.gz
|
|
34
|
+
tar -xzf /tmp/geckodriver.tar.gz
|
|
35
|
+
sudo mv geckodriver /usr/bin/
|
|
36
|
+
name: Deploy Gecko driver
|
|
37
|
+
- run: |
|
|
38
|
+
npm install -g appium@next
|
|
39
|
+
npm install
|
|
40
|
+
name: Install dev dependencies
|
|
41
|
+
- run: |
|
|
42
|
+
cwd=$(pwd)
|
|
43
|
+
pushd "$cwd"
|
|
44
|
+
cd ~
|
|
45
|
+
appium driver install --source=local "$cwd"
|
|
46
|
+
nohup appium server \
|
|
47
|
+
--port=$APPIUM_TEST_SERVER_PORT \
|
|
48
|
+
--address=$APPIUM_TEST_SERVER_HOST \
|
|
49
|
+
--relaxed-security \
|
|
50
|
+
2>&1 > "$cwd/appium.log" &
|
|
51
|
+
popd
|
|
52
|
+
name: Start Appium server
|
|
53
|
+
- run: |
|
|
54
|
+
seconds_started=$(date +%s)
|
|
55
|
+
while ! nc -z $APPIUM_TEST_SERVER_HOST $APPIUM_TEST_SERVER_PORT; do
|
|
56
|
+
sleep 0.1
|
|
57
|
+
seconds_elapsed=$(( $(date +%s) - seconds_started ))
|
|
58
|
+
if [[ $seconds_elapsed -gt $APPIUM_STARTUP_TIMEOUT_SEC ]]; then
|
|
59
|
+
echo "Appium server was unable to start within $APPIUM_STARTUP_TIMEOUT_SEC seconds timeout"
|
|
60
|
+
exit 1
|
|
61
|
+
fi
|
|
62
|
+
done
|
|
63
|
+
name: Wait for Appium server startup
|
|
64
|
+
- run: npm run e2e-test
|
|
65
|
+
name: Run functional tests
|
|
66
|
+
- name: Save server output
|
|
67
|
+
if: ${{ always() }}
|
|
68
|
+
uses: actions/upload-artifact@master
|
|
69
|
+
with:
|
|
70
|
+
name: appium.log
|
|
71
|
+
path: appium.log
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: Conventional Commits
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
lint:
|
|
8
|
+
name: https://www.conventionalcommits.org
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: beemojs/conventional-pr-action@v2
|
|
12
|
+
with:
|
|
13
|
+
config-preset: angular
|
|
14
|
+
env:
|
|
15
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -10,13 +10,13 @@ jobs:
|
|
|
10
10
|
runs-on: ubuntu-latest
|
|
11
11
|
steps:
|
|
12
12
|
- uses: actions/checkout@v2
|
|
13
|
-
- name: Use Node.js
|
|
14
|
-
uses: actions/setup-node@
|
|
13
|
+
- name: Use Node.js
|
|
14
|
+
uses: actions/setup-node@v3
|
|
15
15
|
with:
|
|
16
|
-
node-version:
|
|
16
|
+
node-version: lts/*
|
|
17
17
|
- run: npm install
|
|
18
18
|
name: Install dependencies
|
|
19
|
-
- run: npm test
|
|
19
|
+
- run: npm run test
|
|
20
20
|
name: Run NPM Test
|
|
21
21
|
- run: |
|
|
22
22
|
rm -rf package-lock.json
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Unit Tests
|
|
2
|
+
|
|
3
|
+
on: [pull_request, push]
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
prepare_matrix:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
outputs:
|
|
10
|
+
versions: ${{ steps.generate-matrix.outputs.versions }}
|
|
11
|
+
steps:
|
|
12
|
+
- name: Generate Node.js versions matrix
|
|
13
|
+
id: generate-matrix
|
|
14
|
+
run: |
|
|
15
|
+
sudo apt-get install -y lynx
|
|
16
|
+
lynx -dump https://endoflife.date/nodejs | grep -E -o '[0-9]+ \(LTS\)' | grep -E -o '([0-9]+)' > eol.list
|
|
17
|
+
cat eol.list
|
|
18
|
+
lts1=$(cat eol.list | head -1)
|
|
19
|
+
lts2=$(cat eol.list | head -2 | tail -1)
|
|
20
|
+
lts3=$(cat eol.list | head -3 | tail -1)
|
|
21
|
+
VERSIONS="[$lts1, $lts2, $lts3]"
|
|
22
|
+
echo ::set-output name=versions::${VERSIONS}
|
|
23
|
+
|
|
24
|
+
test:
|
|
25
|
+
needs:
|
|
26
|
+
- prepare_matrix
|
|
27
|
+
strategy:
|
|
28
|
+
matrix:
|
|
29
|
+
node-version: ${{ fromJSON(needs.prepare_matrix.outputs.versions) }}
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v3
|
|
33
|
+
- uses: actions/setup-node@v3
|
|
34
|
+
with:
|
|
35
|
+
node-version: ${{ matrix.node-version }}
|
|
36
|
+
- run: npm i -g npm
|
|
37
|
+
name: Update NPM
|
|
38
|
+
- run: npm install --no-package-lock
|
|
39
|
+
name: Install dev dependencies
|
|
40
|
+
- run: npm run lint
|
|
41
|
+
name: Run linter
|
|
42
|
+
- run: npm run test
|
|
43
|
+
name: Run unit tests
|
package/.mocharc.js
ADDED
package/README.md
CHANGED
|
@@ -10,6 +10,11 @@ This is Appium driver for automating Firefox on different platforms, including A
|
|
|
10
10
|
The driver only supports Firefox and Gecko-based web views (Android only) automation using [W3C WebDriver protocol](https://www.w3.org/TR/webdriver/).
|
|
11
11
|
Under the hood this driver is a wrapper/proxy over `geckodriver` binary. Check the driver [release notes](https://github.com/mozilla/geckodriver/releases) and the [official documentation](https://developer.mozilla.org/en-US/docs/Web/WebDriver/Capabilities) to get more details on the supported features and possible pitfalls.
|
|
12
12
|
|
|
13
|
+
> **Note**
|
|
14
|
+
>
|
|
15
|
+
> Since version 1.0.0 Gecko driver has dropped the support of Appium 1, and is only compatible to Appium 2. Use the `appium driver install gecko`
|
|
16
|
+
> command to add it to your Appium 2 dist.
|
|
17
|
+
|
|
13
18
|
|
|
14
19
|
## Usage
|
|
15
20
|
|
|
@@ -23,8 +28,6 @@ Then you need to decide where the automated test is going to be executed. Gecko
|
|
|
23
28
|
|
|
24
29
|
In order to run your automated tests on Android it is necessary to have [Android SDK](https://developer.android.com/studio) installed, so the destination device is marked as `online` in the `adb devices -l` command output.
|
|
25
30
|
|
|
26
|
-
Since the version 1.0.0 this driver is only compatible with Appium 2. Use the `appium driver install gecko` CLI command to add it to your server dist.
|
|
27
|
-
|
|
28
31
|
Gecko driver allows to define multiple criterions for platform selection and also to fine-tune your automation session properties. This could be done via the following session capabilities:
|
|
29
32
|
|
|
30
33
|
Capability Name | Description
|
|
@@ -149,5 +152,6 @@ def test_feature_status_page_filters(driver):
|
|
|
149
152
|
```bash
|
|
150
153
|
# clone repo, then in repo dir:
|
|
151
154
|
npm install
|
|
152
|
-
|
|
155
|
+
npm run lint
|
|
156
|
+
npm run test
|
|
153
157
|
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"presets": [
|
|
3
|
+
[
|
|
4
|
+
"@babel/preset-env",
|
|
5
|
+
{
|
|
6
|
+
"targets": {
|
|
7
|
+
"node": "14"
|
|
8
|
+
},
|
|
9
|
+
"shippedProposals": true
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
],
|
|
13
|
+
"plugins": [
|
|
14
|
+
"source-map-support",
|
|
15
|
+
"@babel/plugin-transform-runtime"
|
|
16
|
+
],
|
|
17
|
+
"comments": false,
|
|
18
|
+
"sourceMaps": "both",
|
|
19
|
+
"env": {
|
|
20
|
+
"test": {
|
|
21
|
+
"retainLines": true,
|
|
22
|
+
"comments": true
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -12,13 +11,8 @@ Object.defineProperty(exports, "GeckoDriver", {
|
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
13
|
exports.default = void 0;
|
|
15
|
-
|
|
16
14
|
require("source-map-support/register");
|
|
17
|
-
|
|
18
15
|
var _driver = _interopRequireDefault(require("./lib/driver"));
|
|
19
|
-
|
|
20
16
|
var _default = _driver.default;
|
|
21
|
-
exports.default = _default;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6WyJHZWNrb0RyaXZlciJdLCJzb3VyY2VSb290IjoiLi4iLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHZWNrb0RyaXZlciBmcm9tICcuL2xpYi9kcml2ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBHZWNrb0RyaXZlcjtcbmV4cG9ydCB7IEdlY2tvRHJpdmVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O2VBRWVBLGUifQ==
|
|
17
|
+
exports.default = _default;
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHZWNrb0RyaXZlciJdLCJzb3VyY2VzIjpbIi4uL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHZWNrb0RyaXZlciBmcm9tICcuL2xpYi9kcml2ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBHZWNrb0RyaXZlcjtcbmV4cG9ydCB7IEdlY2tvRHJpdmVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBdUMsZUFFeEJBLGVBQVc7QUFBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["GeckoDriver"],"sources":["../index.js"],"sourcesContent":["import GeckoDriver from './lib/driver';\n\nexport default GeckoDriver;\nexport { GeckoDriver };\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAuC,eAExBA,eAAW;AAAA"}
|
|
@@ -4,14 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.commands = void 0;
|
|
7
|
-
|
|
8
7
|
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
var _support = require("appium/support");
|
|
11
|
-
|
|
12
9
|
const commands = {};
|
|
13
10
|
exports.commands = commands;
|
|
14
|
-
|
|
15
11
|
commands.findElOrEls = async function findElOrEls(strategy, selector, mult, context) {
|
|
16
12
|
context = _support.util.unwrapElement(context);
|
|
17
13
|
const endpoint = `/element${context ? `/${context}/element` : ''}${mult ? 's' : ''}`;
|
|
@@ -20,9 +16,6 @@ commands.findElOrEls = async function findElOrEls(strategy, selector, mult, cont
|
|
|
20
16
|
value: selector
|
|
21
17
|
});
|
|
22
18
|
};
|
|
23
|
-
|
|
24
19
|
var _default = commands;
|
|
25
|
-
exports.default = _default;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbW1hbmRzL2ZpbmQuanMiLCJuYW1lcyI6WyJjb21tYW5kcyIsImZpbmRFbE9yRWxzIiwic3RyYXRlZ3kiLCJzZWxlY3RvciIsIm11bHQiLCJjb250ZXh0IiwidXRpbCIsInVud3JhcEVsZW1lbnQiLCJlbmRwb2ludCIsImdlY2tvIiwicHJveHkiLCJjb21tYW5kIiwidXNpbmciLCJ2YWx1ZSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9jb21tYW5kcy9maW5kLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHV0aWwgfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5cblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLy8gVGhpcyBpcyBuZWVkZWQgdG8gbWFrZSBsb29rdXAgYnkgaW1hZ2Ugd29ya2luZ1xuY29tbWFuZHMuZmluZEVsT3JFbHMgPSBhc3luYyBmdW5jdGlvbiBmaW5kRWxPckVscyAoc3RyYXRlZ3ksIHNlbGVjdG9yLCBtdWx0LCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSB1dGlsLnVud3JhcEVsZW1lbnQoY29udGV4dCk7XG4gIGNvbnN0IGVuZHBvaW50ID0gYC9lbGVtZW50JHtjb250ZXh0ID8gYC8ke2NvbnRleHR9L2VsZW1lbnRgIDogJyd9JHttdWx0ID8gJ3MnIDogJyd9YDtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5nZWNrby5wcm94eS5jb21tYW5kKGVuZHBvaW50LCAnUE9TVCcsIHtcbiAgICB1c2luZzogc3RyYXRlZ3ksXG4gICAgdmFsdWU6IHNlbGVjdG9yLFxuICB9KTtcbn07XG5cblxuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFHQSxNQUFNQSxRQUFRLEdBQUcsRUFBakI7OztBQUdBQSxRQUFRLENBQUNDLFdBQVQsR0FBdUIsZUFBZUEsV0FBZixDQUE0QkMsUUFBNUIsRUFBc0NDLFFBQXRDLEVBQWdEQyxJQUFoRCxFQUFzREMsT0FBdEQsRUFBK0Q7RUFDcEZBLE9BQU8sR0FBR0MsYUFBQSxDQUFLQyxhQUFMLENBQW1CRixPQUFuQixDQUFWO0VBQ0EsTUFBTUcsUUFBUSxHQUFJLFdBQVVILE9BQU8sR0FBSSxJQUFHQSxPQUFRLFVBQWYsR0FBMkIsRUFBRyxHQUFFRCxJQUFJLEdBQUcsR0FBSCxHQUFTLEVBQUcsRUFBbkY7RUFFQSxPQUFPLE1BQU0sS0FBS0ssS0FBTCxDQUFXQyxLQUFYLENBQWlCQyxPQUFqQixDQUF5QkgsUUFBekIsRUFBbUMsTUFBbkMsRUFBMkM7SUFDdERJLEtBQUssRUFBRVYsUUFEK0M7SUFFdERXLEtBQUssRUFBRVY7RUFGK0MsQ0FBM0MsQ0FBYjtBQUlELENBUkQ7O2VBWWVILFEifQ==
|
|
20
|
+
exports.default = _default;
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZpbmRFbE9yRWxzIiwic3RyYXRlZ3kiLCJzZWxlY3RvciIsIm11bHQiLCJjb250ZXh0IiwidXRpbCIsInVud3JhcEVsZW1lbnQiLCJlbmRwb2ludCIsImdlY2tvIiwicHJveHkiLCJjb21tYW5kIiwidXNpbmciLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9maW5kLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHV0aWwgfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5cblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLy8gVGhpcyBpcyBuZWVkZWQgdG8gbWFrZSBsb29rdXAgYnkgaW1hZ2Ugd29ya2luZ1xuY29tbWFuZHMuZmluZEVsT3JFbHMgPSBhc3luYyBmdW5jdGlvbiBmaW5kRWxPckVscyAoc3RyYXRlZ3ksIHNlbGVjdG9yLCBtdWx0LCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSB1dGlsLnVud3JhcEVsZW1lbnQoY29udGV4dCk7XG4gIGNvbnN0IGVuZHBvaW50ID0gYC9lbGVtZW50JHtjb250ZXh0ID8gYC8ke2NvbnRleHR9L2VsZW1lbnRgIDogJyd9JHttdWx0ID8gJ3MnIDogJyd9YDtcblxuICByZXR1cm4gYXdhaXQgdGhpcy5nZWNrby5wcm94eS5jb21tYW5kKGVuZHBvaW50LCAnUE9TVCcsIHtcbiAgICB1c2luZzogc3RyYXRlZ3ksXG4gICAgdmFsdWU6IHNlbGVjdG9yLFxuICB9KTtcbn07XG5cblxuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFHQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQUM7QUFHcEJBLFFBQVEsQ0FBQ0MsV0FBVyxHQUFHLGVBQWVBLFdBQVcsQ0FBRUMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFO0VBQ3BGQSxPQUFPLEdBQUdDLGFBQUksQ0FBQ0MsYUFBYSxDQUFDRixPQUFPLENBQUM7RUFDckMsTUFBTUcsUUFBUSxHQUFJLFdBQVVILE9BQU8sR0FBSSxJQUFHQSxPQUFRLFVBQVMsR0FBRyxFQUFHLEdBQUVELElBQUksR0FBRyxHQUFHLEdBQUcsRUFBRyxFQUFDO0VBRXBGLE9BQU8sTUFBTSxJQUFJLENBQUNLLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNILFFBQVEsRUFBRSxNQUFNLEVBQUU7SUFDdERJLEtBQUssRUFBRVYsUUFBUTtJQUNmVyxLQUFLLEVBQUVWO0VBQ1QsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLGVBSWFILFFBQVE7QUFBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.js","names":["commands","findElOrEls","strategy","selector","mult","context","util","unwrapElement","endpoint","gecko","proxy","command","using","value"],"sources":["../../../lib/commands/find.js"],"sourcesContent":["import { util } from 'appium/support';\n\n\nconst commands = {};\n\n// This is needed to make lookup by image working\ncommands.findElOrEls = async function findElOrEls (strategy, selector, mult, context) {\n context = util.unwrapElement(context);\n const endpoint = `/element${context ? `/${context}/element` : ''}${mult ? 's' : ''}`;\n\n return await this.gecko.proxy.command(endpoint, 'POST', {\n using: strategy,\n value: selector,\n });\n};\n\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAGA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAAC;AAGpBA,QAAQ,CAACC,WAAW,GAAG,eAAeA,WAAW,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAE;EACpFA,OAAO,GAAGC,aAAI,CAACC,aAAa,CAACF,OAAO,CAAC;EACrC,MAAMG,QAAQ,GAAI,WAAUH,OAAO,GAAI,IAAGA,OAAQ,UAAS,GAAG,EAAG,GAAED,IAAI,GAAG,GAAG,GAAG,EAAG,EAAC;EAEpF,OAAO,MAAM,IAAI,CAACK,KAAK,CAACC,KAAK,CAACC,OAAO,CAACH,QAAQ,EAAE,MAAM,EAAE;IACtDI,KAAK,EAAEV,QAAQ;IACfW,KAAK,EAAEV;EACT,CAAC,CAAC;AACJ,CAAC;AAAC,eAIaH,QAAQ;AAAA"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = exports.commands = void 0;
|
|
9
|
-
|
|
10
8
|
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
var _find = _interopRequireDefault(require("./find"));
|
|
13
|
-
|
|
14
10
|
const commands = {};
|
|
15
11
|
exports.commands = commands;
|
|
16
12
|
Object.assign(commands, _find.default);
|
|
17
13
|
var _default = commands;
|
|
18
|
-
exports.default = _default;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbW1hbmRzL2luZGV4LmpzIiwibmFtZXMiOlsiY29tbWFuZHMiLCJPYmplY3QiLCJhc3NpZ24iLCJmaW5kQ21kcyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9jb21tYW5kcy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmluZENtZHMgZnJvbSAnLi9maW5kJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcbk9iamVjdC5hc3NpZ24oXG4gIGNvbW1hbmRzLFxuICBmaW5kQ21kcyxcbiAgLy8gYWRkIG90aGVyIGNvbW1hbmQgdHlwZXMgaGVyZVxuKTtcblxuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLFFBQVEsR0FBRyxFQUFqQjs7QUFDQUMsTUFBTSxDQUFDQyxNQUFQLENBQ0VGLFFBREYsRUFFRUcsYUFGRjtlQU9lSCxRIn0=
|
|
14
|
+
exports.default = _default;
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImZpbmRDbWRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmaW5kQ21kcyBmcm9tICcuL2ZpbmQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuT2JqZWN0LmFzc2lnbihcbiAgY29tbWFuZHMsXG4gIGZpbmRDbWRzLFxuICAvLyBhZGQgb3RoZXIgY29tbWFuZCB0eXBlcyBoZXJlXG4pO1xuXG5leHBvcnQgeyBjb21tYW5kcyB9O1xuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFFQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQUM7QUFDcEJDLE1BQU0sQ0FBQ0MsTUFBTSxDQUNYRixRQUFRLEVBQ1JHLGFBQVEsQ0FFVDtBQUFDLGVBR2FILFFBQVE7QUFBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["commands","Object","assign","findCmds"],"sources":["../../../lib/commands/index.js"],"sourcesContent":["import findCmds from './find';\n\nconst commands = {};\nObject.assign(\n commands,\n findCmds,\n // add other command types here\n);\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAAC;AACpBC,MAAM,CAACC,MAAM,CACXF,QAAQ,EACRG,aAAQ,CAET;AAAC,eAGaH,QAAQ;AAAA"}
|
package/build/lib/constants.js
CHANGED
|
@@ -4,14 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VERBOSITY = void 0;
|
|
7
|
-
|
|
8
7
|
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
const VERBOSITY = {
|
|
11
9
|
DEBUG: 'debug',
|
|
12
10
|
TRACE: 'trace'
|
|
13
11
|
};
|
|
14
|
-
exports.VERBOSITY = VERBOSITY;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2NvbnN0YW50cy5qcyIsIm5hbWVzIjpbIlZFUkJPU0lUWSIsIkRFQlVHIiwiVFJBQ0UiXSwic291cmNlUm9vdCI6Ii4uLy4uIiwic291cmNlcyI6WyJsaWIvY29uc3RhbnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFZFUkJPU0lUWSA9IHtcbiAgREVCVUc6ICdkZWJ1ZycsXG4gIFRSQUNFOiAndHJhY2UnLFxufTtcblxuZXhwb3J0IHsgVkVSQk9TSVRZIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE1BQU1BLFNBQVMsR0FBRztFQUNoQkMsS0FBSyxFQUFFLE9BRFM7RUFFaEJDLEtBQUssRUFBRTtBQUZTLENBQWxCIn0=
|
|
12
|
+
exports.VERBOSITY = VERBOSITY;
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWRVJCT1NJVFkiLCJERUJVRyIsIlRSQUNFIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbnN0YW50cy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBWRVJCT1NJVFkgPSB7XG4gIERFQlVHOiAnZGVidWcnLFxuICBUUkFDRTogJ3RyYWNlJyxcbn07XG5cbmV4cG9ydCB7IFZFUkJPU0lUWSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsU0FBUyxHQUFHO0VBQ2hCQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxLQUFLLEVBQUU7QUFDVCxDQUFDO0FBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["VERBOSITY","DEBUG","TRACE"],"sources":["../../lib/constants.js"],"sourcesContent":["const VERBOSITY = {\n DEBUG: 'debug',\n TRACE: 'trace',\n};\n\nexport { VERBOSITY };\n"],"mappings":";;;;;;;AAAA,MAAMA,SAAS,GAAG;EAChBC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE;AACT,CAAC;AAAC"}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.desiredCapConstraints = void 0;
|
|
7
|
-
|
|
8
7
|
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
var _constants = require("./constants");
|
|
11
|
-
|
|
12
9
|
const desiredCapConstraints = {
|
|
13
10
|
browserName: {
|
|
14
11
|
isString: true
|
|
@@ -52,7 +49,5 @@ const desiredCapConstraints = {
|
|
|
52
49
|
isObject: true
|
|
53
50
|
}
|
|
54
51
|
};
|
|
55
|
-
exports.desiredCapConstraints = desiredCapConstraints;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2Rlc2lyZWQtY2Fwcy5qcyIsIm5hbWVzIjpbImRlc2lyZWRDYXBDb25zdHJhaW50cyIsImJyb3dzZXJOYW1lIiwiaXNTdHJpbmciLCJicm93c2VyVmVyc2lvbiIsImFjY2VwdEluc2VjdXJlQ2VydHMiLCJpc0Jvb2xlYW4iLCJwYWdlTG9hZFN0cmF0ZWd5IiwicHJveHkiLCJpc09iamVjdCIsInNldFdpbmRvd1JlY3QiLCJ0aW1lb3V0cyIsInVuaGFuZGxlZFByb21wdEJlaGF2aW9yIiwic3lzdGVtUG9ydCIsImlzTnVtYmVyIiwibWFyaW9uZXR0ZVBvcnQiLCJ2ZXJib3NpdHkiLCJpbmNsdXNpb25DYXNlSW5zZW5zaXRpdmUiLCJPYmplY3QiLCJ2YWx1ZXMiLCJWRVJCT1NJVFkiLCJhbmRyb2lkU3RvcmFnZSJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9kZXNpcmVkLWNhcHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkVSQk9TSVRZIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBkZXNpcmVkQ2FwQ29uc3RyYWludHMgPSB7XG4gIGJyb3dzZXJOYW1lOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYnJvd3NlclZlcnNpb246IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhY2NlcHRJbnNlY3VyZUNlcnRzOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHBhZ2VMb2FkU3RyYXRlZ3k6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBwcm94eToge1xuICAgIGlzT2JqZWN0OiB0cnVlXG4gIH0sXG4gIHNldFdpbmRvd1JlY3Q6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgdGltZW91dHM6IHtcbiAgICBpc09iamVjdDogdHJ1ZVxuICB9LFxuICB1bmhhbmRsZWRQcm9tcHRCZWhhdmlvcjoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIHN5c3RlbVBvcnQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBtYXJpb25ldHRlUG9ydDoge1xuICAgIGlzTnVtYmVyOiB0cnVlXG4gIH0sXG4gIHZlcmJvc2l0eToge1xuICAgIGlzU3RyaW5nOiB0cnVlLFxuICAgIGluY2x1c2lvbkNhc2VJbnNlbnNpdGl2ZTogT2JqZWN0LnZhbHVlcyhWRVJCT1NJVFkpXG4gIH0sXG4gIGFuZHJvaWRTdG9yYWdlOiB7XG4gICAgaXNTdHJpbmc6IHRydWUsXG4gICAgaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlOiBbJ2F1dG8nLCAnYXBwJywgJ2ludGVybmFsJywgJ3NkY2FyZCddXG4gIH0sXG4gICdtb3o6ZmlyZWZveE9wdGlvbnMnOiB7XG4gICAgaXNPYmplY3Q6IHRydWVcbiAgfVxufTtcblxuZXhwb3J0IHsgZGVzaXJlZENhcENvbnN0cmFpbnRzIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBLE1BQU1BLHFCQUFxQixHQUFHO0VBQzVCQyxXQUFXLEVBQUU7SUFDWEMsUUFBUSxFQUFFO0VBREMsQ0FEZTtFQUk1QkMsY0FBYyxFQUFFO0lBQ2RELFFBQVEsRUFBRTtFQURJLENBSlk7RUFPNUJFLG1CQUFtQixFQUFFO0lBQ25CQyxTQUFTLEVBQUU7RUFEUSxDQVBPO0VBVTVCQyxnQkFBZ0IsRUFBRTtJQUNoQkosUUFBUSxFQUFFO0VBRE0sQ0FWVTtFQWE1QkssS0FBSyxFQUFFO0lBQ0xDLFFBQVEsRUFBRTtFQURMLENBYnFCO0VBZ0I1QkMsYUFBYSxFQUFFO0lBQ2JKLFNBQVMsRUFBRTtFQURFLENBaEJhO0VBbUI1QkssUUFBUSxFQUFFO0lBQ1JGLFFBQVEsRUFBRTtFQURGLENBbkJrQjtFQXNCNUJHLHVCQUF1QixFQUFFO0lBQ3ZCVCxRQUFRLEVBQUU7RUFEYSxDQXRCRztFQXlCNUJVLFVBQVUsRUFBRTtJQUNWQyxRQUFRLEVBQUU7RUFEQSxDQXpCZ0I7RUE0QjVCQyxjQUFjLEVBQUU7SUFDZEQsUUFBUSxFQUFFO0VBREksQ0E1Qlk7RUErQjVCRSxTQUFTLEVBQUU7SUFDVGIsUUFBUSxFQUFFLElBREQ7SUFFVGMsd0JBQXdCLEVBQUVDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjQyxvQkFBZDtFQUZqQixDQS9CaUI7RUFtQzVCQyxjQUFjLEVBQUU7SUFDZGxCLFFBQVEsRUFBRSxJQURJO0lBRWRjLHdCQUF3QixFQUFFLENBQUMsTUFBRCxFQUFTLEtBQVQsRUFBZ0IsVUFBaEIsRUFBNEIsUUFBNUI7RUFGWixDQW5DWTtFQXVDNUIsc0JBQXNCO0lBQ3BCUixRQUFRLEVBQUU7RUFEVTtBQXZDTSxDQUE5QiJ9
|
|
52
|
+
exports.desiredCapConstraints = desiredCapConstraints;
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZXNpcmVkQ2FwQ29uc3RyYWludHMiLCJicm93c2VyTmFtZSIsImlzU3RyaW5nIiwiYnJvd3NlclZlcnNpb24iLCJhY2NlcHRJbnNlY3VyZUNlcnRzIiwiaXNCb29sZWFuIiwicGFnZUxvYWRTdHJhdGVneSIsInByb3h5IiwiaXNPYmplY3QiLCJzZXRXaW5kb3dSZWN0IiwidGltZW91dHMiLCJ1bmhhbmRsZWRQcm9tcHRCZWhhdmlvciIsInN5c3RlbVBvcnQiLCJpc051bWJlciIsIm1hcmlvbmV0dGVQb3J0IiwidmVyYm9zaXR5IiwiaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlIiwiT2JqZWN0IiwidmFsdWVzIiwiVkVSQk9TSVRZIiwiYW5kcm9pZFN0b3JhZ2UiXSwic291cmNlcyI6WyIuLi8uLi9saWIvZGVzaXJlZC1jYXBzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZFUkJPU0lUWSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgZGVzaXJlZENhcENvbnN0cmFpbnRzID0ge1xuICBicm93c2VyTmFtZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGJyb3dzZXJWZXJzaW9uOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgYWNjZXB0SW5zZWN1cmVDZXJ0czoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBwYWdlTG9hZFN0cmF0ZWd5OiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgcHJveHk6IHtcbiAgICBpc09iamVjdDogdHJ1ZVxuICB9LFxuICBzZXRXaW5kb3dSZWN0OiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHRpbWVvdXRzOiB7XG4gICAgaXNPYmplY3Q6IHRydWVcbiAgfSxcbiAgdW5oYW5kbGVkUHJvbXB0QmVoYXZpb3I6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBzeXN0ZW1Qb3J0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgbWFyaW9uZXR0ZVBvcnQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICB2ZXJib3NpdHk6IHtcbiAgICBpc1N0cmluZzogdHJ1ZSxcbiAgICBpbmNsdXNpb25DYXNlSW5zZW5zaXRpdmU6IE9iamVjdC52YWx1ZXMoVkVSQk9TSVRZKVxuICB9LFxuICBhbmRyb2lkU3RvcmFnZToge1xuICAgIGlzU3RyaW5nOiB0cnVlLFxuICAgIGluY2x1c2lvbkNhc2VJbnNlbnNpdGl2ZTogWydhdXRvJywgJ2FwcCcsICdpbnRlcm5hbCcsICdzZGNhcmQnXVxuICB9LFxuICAnbW96OmZpcmVmb3hPcHRpb25zJzoge1xuICAgIGlzT2JqZWN0OiB0cnVlXG4gIH1cbn07XG5cbmV4cG9ydCB7IGRlc2lyZWRDYXBDb25zdHJhaW50cyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFFQSxNQUFNQSxxQkFBcUIsR0FBRztFQUM1QkMsV0FBVyxFQUFFO0lBQ1hDLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREMsY0FBYyxFQUFFO0lBQ2RELFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREUsbUJBQW1CLEVBQUU7SUFDbkJDLFNBQVMsRUFBRTtFQUNiLENBQUM7RUFDREMsZ0JBQWdCLEVBQUU7SUFDaEJKLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREssS0FBSyxFQUFFO0lBQ0xDLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREMsYUFBYSxFQUFFO0lBQ2JKLFNBQVMsRUFBRTtFQUNiLENBQUM7RUFDREssUUFBUSxFQUFFO0lBQ1JGLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREcsdUJBQXVCLEVBQUU7SUFDdkJULFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDRFUsVUFBVSxFQUFFO0lBQ1ZDLFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREMsY0FBYyxFQUFFO0lBQ2RELFFBQVEsRUFBRTtFQUNaLENBQUM7RUFDREUsU0FBUyxFQUFFO0lBQ1RiLFFBQVEsRUFBRSxJQUFJO0lBQ2RjLHdCQUF3QixFQUFFQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ0Msb0JBQVM7RUFDbkQsQ0FBQztFQUNEQyxjQUFjLEVBQUU7SUFDZGxCLFFBQVEsRUFBRSxJQUFJO0lBQ2RjLHdCQUF3QixFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUTtFQUNoRSxDQUFDO0VBQ0Qsb0JBQW9CLEVBQUU7SUFDcEJSLFFBQVEsRUFBRTtFQUNaO0FBQ0YsQ0FBQztBQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desired-caps.js","names":["desiredCapConstraints","browserName","isString","browserVersion","acceptInsecureCerts","isBoolean","pageLoadStrategy","proxy","isObject","setWindowRect","timeouts","unhandledPromptBehavior","systemPort","isNumber","marionettePort","verbosity","inclusionCaseInsensitive","Object","values","VERBOSITY","androidStorage"],"sources":["../../lib/desired-caps.js"],"sourcesContent":["import { VERBOSITY } from './constants';\n\nconst desiredCapConstraints = {\n browserName: {\n isString: true\n },\n browserVersion: {\n isString: true\n },\n acceptInsecureCerts: {\n isBoolean: true\n },\n pageLoadStrategy: {\n isString: true\n },\n proxy: {\n isObject: true\n },\n setWindowRect: {\n isBoolean: true\n },\n timeouts: {\n isObject: true\n },\n unhandledPromptBehavior: {\n isString: true\n },\n systemPort: {\n isNumber: true\n },\n marionettePort: {\n isNumber: true\n },\n verbosity: {\n isString: true,\n inclusionCaseInsensitive: Object.values(VERBOSITY)\n },\n androidStorage: {\n isString: true,\n inclusionCaseInsensitive: ['auto', 'app', 'internal', 'sdcard']\n },\n 'moz:firefoxOptions': {\n isObject: true\n }\n};\n\nexport { desiredCapConstraints };\n"],"mappings":";;;;;;;AAAA;AAEA,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;EACDC,gBAAgB,EAAE;IAChBJ,QAAQ,EAAE;EACZ,CAAC;EACDK,KAAK,EAAE;IACLC,QAAQ,EAAE;EACZ,CAAC;EACDC,aAAa,EAAE;IACbJ,SAAS,EAAE;EACb,CAAC;EACDK,QAAQ,EAAE;IACRF,QAAQ,EAAE;EACZ,CAAC;EACDG,uBAAuB,EAAE;IACvBT,QAAQ,EAAE;EACZ,CAAC;EACDU,UAAU,EAAE;IACVC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdD,QAAQ,EAAE;EACZ,CAAC;EACDE,SAAS,EAAE;IACTb,QAAQ,EAAE,IAAI;IACdc,wBAAwB,EAAEC,MAAM,CAACC,MAAM,CAACC,oBAAS;EACnD,CAAC;EACDC,cAAc,EAAE;IACdlB,QAAQ,EAAE,IAAI;IACdc,wBAAwB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ;EAChE,CAAC;EACD,oBAAoB,EAAE;IACpBR,QAAQ,EAAE;EACZ;AACF,CAAC;AAAC"}
|
package/build/lib/driver.js
CHANGED
|
@@ -1,85 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
13
|
-
|
|
14
10
|
var _driver = require("appium/driver");
|
|
15
|
-
|
|
16
11
|
var _gecko = _interopRequireDefault(require("./gecko"));
|
|
17
|
-
|
|
18
12
|
var _desiredCaps = require("./desired-caps");
|
|
19
|
-
|
|
20
13
|
var _index = _interopRequireDefault(require("./commands/index"));
|
|
21
|
-
|
|
22
14
|
var _utils = require("./utils");
|
|
23
|
-
|
|
24
15
|
const NO_PROXY = [['GET', new RegExp('^/session/[^/]+/appium')], ['POST', new RegExp('^/session/[^/]+/appium')], ['POST', new RegExp('^/session/[^/]+/element/[^/]+/elements?$')], ['POST', new RegExp('^/session/[^/]+/elements?$')]];
|
|
25
|
-
|
|
26
16
|
class GeckoDriver extends _driver.BaseDriver {
|
|
27
17
|
constructor(opts = {}) {
|
|
28
18
|
super(opts);
|
|
29
19
|
this.desiredCapConstraints = _desiredCaps.desiredCapConstraints;
|
|
30
20
|
this.locatorStrategies = ['xpath', 'tag name', 'link text', 'partial link text', 'css selector', 'id', 'name'];
|
|
31
21
|
this.resetState();
|
|
32
|
-
|
|
33
22
|
for (const [cmd, fn] of _lodash.default.toPairs(_index.default)) {
|
|
34
23
|
GeckoDriver.prototype[cmd] = fn;
|
|
35
24
|
}
|
|
36
25
|
}
|
|
37
|
-
|
|
38
26
|
resetState() {
|
|
39
27
|
this.gecko = null;
|
|
40
28
|
this.proxyReqRes = null;
|
|
41
29
|
this.isProxyActive = false;
|
|
42
30
|
}
|
|
43
|
-
|
|
44
31
|
proxyActive() {
|
|
45
32
|
return this.isProxyActive;
|
|
46
33
|
}
|
|
47
|
-
|
|
48
34
|
getProxyAvoidList() {
|
|
49
35
|
return NO_PROXY;
|
|
50
36
|
}
|
|
51
|
-
|
|
52
37
|
canProxy() {
|
|
53
38
|
return true;
|
|
54
39
|
}
|
|
55
|
-
|
|
56
40
|
async createSession(...args) {
|
|
57
41
|
const [sessionId, caps] = await super.createSession(...args);
|
|
58
42
|
this.gecko = new _gecko.default(this.log, caps);
|
|
59
|
-
|
|
60
43
|
try {
|
|
61
44
|
await this.gecko.start((0, _utils.formatCapsForServer)(caps));
|
|
62
45
|
} catch (e) {
|
|
63
46
|
await this.deleteSession();
|
|
64
47
|
throw e;
|
|
65
48
|
}
|
|
66
|
-
|
|
67
49
|
this.proxyReqRes = this.gecko.proxy.proxyReqRes.bind(this.gecko.proxy);
|
|
68
50
|
this.isProxyActive = true;
|
|
69
51
|
return [sessionId, caps];
|
|
70
52
|
}
|
|
71
|
-
|
|
72
53
|
async deleteSession() {
|
|
73
54
|
this.log.info('Ending Gecko Driver session');
|
|
74
55
|
await this.gecko.stop();
|
|
75
56
|
this.resetState();
|
|
76
57
|
await super.deleteSession();
|
|
77
58
|
}
|
|
78
|
-
|
|
79
59
|
}
|
|
80
|
-
|
|
81
60
|
var _default = GeckoDriver;
|
|
82
|
-
exports.default = _default;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2RyaXZlci5qcyIsIm5hbWVzIjpbIk5PX1BST1hZIiwiUmVnRXhwIiwiR2Vja29Ecml2ZXIiLCJCYXNlRHJpdmVyIiwiY29uc3RydWN0b3IiLCJvcHRzIiwiZGVzaXJlZENhcENvbnN0cmFpbnRzIiwibG9jYXRvclN0cmF0ZWdpZXMiLCJyZXNldFN0YXRlIiwiY21kIiwiZm4iLCJfIiwidG9QYWlycyIsImNvbW1hbmRzIiwicHJvdG90eXBlIiwiZ2Vja28iLCJwcm94eVJlcVJlcyIsImlzUHJveHlBY3RpdmUiLCJwcm94eUFjdGl2ZSIsImdldFByb3h5QXZvaWRMaXN0IiwiY2FuUHJveHkiLCJjcmVhdGVTZXNzaW9uIiwiYXJncyIsInNlc3Npb25JZCIsImNhcHMiLCJHZWNrb0RyaXZlclNlcnZlciIsImxvZyIsInN0YXJ0IiwiZm9ybWF0Q2Fwc0ZvclNlcnZlciIsImUiLCJkZWxldGVTZXNzaW9uIiwicHJveHkiLCJiaW5kIiwiaW5mbyIsInN0b3AiXSwic291cmNlUm9vdCI6Ii4uLy4uIiwic291cmNlcyI6WyJsaWIvZHJpdmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCYXNlRHJpdmVyIH0gZnJvbSAnYXBwaXVtL2RyaXZlcic7XG5pbXBvcnQgR2Vja29Ecml2ZXJTZXJ2ZXIgZnJvbSAnLi9nZWNrbyc7XG5pbXBvcnQgeyBkZXNpcmVkQ2FwQ29uc3RyYWludHMgfSBmcm9tICcuL2Rlc2lyZWQtY2Fwcyc7XG5pbXBvcnQgY29tbWFuZHMgZnJvbSAnLi9jb21tYW5kcy9pbmRleCc7XG5pbXBvcnQgeyBmb3JtYXRDYXBzRm9yU2VydmVyIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IE5PX1BST1hZID0gW1xuICBbJ0dFVCcsIG5ldyBSZWdFeHAoJ14vc2Vzc2lvbi9bXi9dKy9hcHBpdW0nKV0sXG4gIFsnUE9TVCcsIG5ldyBSZWdFeHAoJ14vc2Vzc2lvbi9bXi9dKy9hcHBpdW0nKV0sXG4gIFsnUE9TVCcsIG5ldyBSZWdFeHAoJ14vc2Vzc2lvbi9bXi9dKy9lbGVtZW50L1teL10rL2VsZW1lbnRzPyQnKV0sXG4gIFsnUE9TVCcsIG5ldyBSZWdFeHAoJ14vc2Vzc2lvbi9bXi9dKy9lbGVtZW50cz8kJyldLFxuXTtcblxuY2xhc3MgR2Vja29Ecml2ZXIgZXh0ZW5kcyBCYXNlRHJpdmVyIHtcbiAgY29uc3RydWN0b3IgKG9wdHMgPSB7fSkge1xuICAgIHN1cGVyKG9wdHMpO1xuICAgIHRoaXMuZGVzaXJlZENhcENvbnN0cmFpbnRzID0gZGVzaXJlZENhcENvbnN0cmFpbnRzO1xuICAgIHRoaXMubG9jYXRvclN0cmF0ZWdpZXMgPSBbXG4gICAgICAneHBhdGgnLFxuICAgICAgJ3RhZyBuYW1lJyxcbiAgICAgICdsaW5rIHRleHQnLFxuICAgICAgJ3BhcnRpYWwgbGluayB0ZXh0JyxcbiAgICAgICdjc3Mgc2VsZWN0b3InLFxuICAgICAgLy8gTGV0IHRoZXNlIHR3byByZWFjaCBHZWNrbyBEcml2ZXIgYW5kIGZhaWwgdGhlcmUgd2l0aCBhIHByb3BlciBlcnJvciBtZXNzYWdlXG4gICAgICAnaWQnLFxuICAgICAgJ25hbWUnLFxuICAgIF07XG4gICAgdGhpcy5yZXNldFN0YXRlKCk7XG5cbiAgICBmb3IgKGNvbnN0IFtjbWQsIGZuXSBvZiBfLnRvUGFpcnMoY29tbWFuZHMpKSB7XG4gICAgICBHZWNrb0RyaXZlci5wcm90b3R5cGVbY21kXSA9IGZuO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0U3RhdGUgKCkge1xuICAgIHRoaXMuZ2Vja28gPSBudWxsO1xuICAgIHRoaXMucHJveHlSZXFSZXMgPSBudWxsO1xuICAgIHRoaXMuaXNQcm94eUFjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJveHlBY3RpdmUgKCkge1xuICAgIHJldHVybiB0aGlzLmlzUHJveHlBY3RpdmU7XG4gIH1cblxuICBnZXRQcm94eUF2b2lkTGlzdCAoKSB7XG4gICAgcmV0dXJuIE5PX1BST1hZO1xuICB9XG5cbiAgY2FuUHJveHkgKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlU2Vzc2lvbiAoLi4uYXJncykge1xuICAgIGNvbnN0IFtzZXNzaW9uSWQsIGNhcHNdID0gYXdhaXQgc3VwZXIuY3JlYXRlU2Vzc2lvbiguLi5hcmdzKTtcbiAgICB0aGlzLmdlY2tvID0gbmV3IEdlY2tvRHJpdmVyU2VydmVyKHRoaXMubG9nLCBjYXBzKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5nZWNrby5zdGFydChmb3JtYXRDYXBzRm9yU2VydmVyKGNhcHMpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhd2FpdCB0aGlzLmRlbGV0ZVNlc3Npb24oKTtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIHRoaXMucHJveHlSZXFSZXMgPSB0aGlzLmdlY2tvLnByb3h5LnByb3h5UmVxUmVzLmJpbmQodGhpcy5nZWNrby5wcm94eSk7XG4gICAgdGhpcy5pc1Byb3h5QWN0aXZlID0gdHJ1ZTtcbiAgICByZXR1cm4gW3Nlc3Npb25JZCwgY2Fwc107XG4gIH1cblxuICBhc3luYyBkZWxldGVTZXNzaW9uICgpIHtcbiAgICB0aGlzLmxvZy5pbmZvKCdFbmRpbmcgR2Vja28gRHJpdmVyIHNlc3Npb24nKTtcbiAgICBhd2FpdCB0aGlzLmdlY2tvLnN0b3AoKTtcbiAgICB0aGlzLnJlc2V0U3RhdGUoKTtcblxuICAgIGF3YWl0IHN1cGVyLmRlbGV0ZVNlc3Npb24oKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBHZWNrb0RyaXZlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxRQUFRLEdBQUcsQ0FDZixDQUFDLEtBQUQsRUFBUSxJQUFJQyxNQUFKLENBQVcsd0JBQVgsQ0FBUixDQURlLEVBRWYsQ0FBQyxNQUFELEVBQVMsSUFBSUEsTUFBSixDQUFXLHdCQUFYLENBQVQsQ0FGZSxFQUdmLENBQUMsTUFBRCxFQUFTLElBQUlBLE1BQUosQ0FBVywwQ0FBWCxDQUFULENBSGUsRUFJZixDQUFDLE1BQUQsRUFBUyxJQUFJQSxNQUFKLENBQVcsNEJBQVgsQ0FBVCxDQUplLENBQWpCOztBQU9BLE1BQU1DLFdBQU4sU0FBMEJDLGtCQUExQixDQUFxQztFQUNuQ0MsV0FBVyxDQUFFQyxJQUFJLEdBQUcsRUFBVCxFQUFhO0lBQ3RCLE1BQU1BLElBQU47SUFDQSxLQUFLQyxxQkFBTCxHQUE2QkEsa0NBQTdCO0lBQ0EsS0FBS0MsaUJBQUwsR0FBeUIsQ0FDdkIsT0FEdUIsRUFFdkIsVUFGdUIsRUFHdkIsV0FIdUIsRUFJdkIsbUJBSnVCLEVBS3ZCLGNBTHVCLEVBT3ZCLElBUHVCLEVBUXZCLE1BUnVCLENBQXpCO0lBVUEsS0FBS0MsVUFBTDs7SUFFQSxLQUFLLE1BQU0sQ0FBQ0MsR0FBRCxFQUFNQyxFQUFOLENBQVgsSUFBd0JDLGVBQUEsQ0FBRUMsT0FBRixDQUFVQyxjQUFWLENBQXhCLEVBQTZDO01BQzNDWCxXQUFXLENBQUNZLFNBQVosQ0FBc0JMLEdBQXRCLElBQTZCQyxFQUE3QjtJQUNEO0VBQ0Y7O0VBRURGLFVBQVUsR0FBSTtJQUNaLEtBQUtPLEtBQUwsR0FBYSxJQUFiO0lBQ0EsS0FBS0MsV0FBTCxHQUFtQixJQUFuQjtJQUNBLEtBQUtDLGFBQUwsR0FBcUIsS0FBckI7RUFDRDs7RUFFREMsV0FBVyxHQUFJO0lBQ2IsT0FBTyxLQUFLRCxhQUFaO0VBQ0Q7O0VBRURFLGlCQUFpQixHQUFJO0lBQ25CLE9BQU9uQixRQUFQO0VBQ0Q7O0VBRURvQixRQUFRLEdBQUk7SUFDVixPQUFPLElBQVA7RUFDRDs7RUFFa0IsTUFBYkMsYUFBYSxDQUFFLEdBQUdDLElBQUwsRUFBVztJQUM1QixNQUFNLENBQUNDLFNBQUQsRUFBWUMsSUFBWixJQUFvQixNQUFNLE1BQU1ILGFBQU4sQ0FBb0IsR0FBR0MsSUFBdkIsQ0FBaEM7SUFDQSxLQUFLUCxLQUFMLEdBQWEsSUFBSVUsY0FBSixDQUFzQixLQUFLQyxHQUEzQixFQUFnQ0YsSUFBaEMsQ0FBYjs7SUFDQSxJQUFJO01BQ0YsTUFBTSxLQUFLVCxLQUFMLENBQVdZLEtBQVgsQ0FBaUIsSUFBQUMsMEJBQUEsRUFBb0JKLElBQXBCLENBQWpCLENBQU47SUFDRCxDQUZELENBRUUsT0FBT0ssQ0FBUCxFQUFVO01BQ1YsTUFBTSxLQUFLQyxhQUFMLEVBQU47TUFDQSxNQUFNRCxDQUFOO0lBQ0Q7O0lBQ0QsS0FBS2IsV0FBTCxHQUFtQixLQUFLRCxLQUFMLENBQVdnQixLQUFYLENBQWlCZixXQUFqQixDQUE2QmdCLElBQTdCLENBQWtDLEtBQUtqQixLQUFMLENBQVdnQixLQUE3QyxDQUFuQjtJQUNBLEtBQUtkLGFBQUwsR0FBcUIsSUFBckI7SUFDQSxPQUFPLENBQUNNLFNBQUQsRUFBWUMsSUFBWixDQUFQO0VBQ0Q7O0VBRWtCLE1BQWJNLGFBQWEsR0FBSTtJQUNyQixLQUFLSixHQUFMLENBQVNPLElBQVQsQ0FBYyw2QkFBZDtJQUNBLE1BQU0sS0FBS2xCLEtBQUwsQ0FBV21CLElBQVgsRUFBTjtJQUNBLEtBQUsxQixVQUFMO0lBRUEsTUFBTSxNQUFNc0IsYUFBTixFQUFOO0VBQ0Q7O0FBM0RrQzs7ZUE4RHRCNUIsVyJ9
|
|
61
|
+
exports.default = _default;
|
|
62
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOT19QUk9YWSIsIlJlZ0V4cCIsIkdlY2tvRHJpdmVyIiwiQmFzZURyaXZlciIsImNvbnN0cnVjdG9yIiwib3B0cyIsImRlc2lyZWRDYXBDb25zdHJhaW50cyIsImxvY2F0b3JTdHJhdGVnaWVzIiwicmVzZXRTdGF0ZSIsImNtZCIsImZuIiwiXyIsInRvUGFpcnMiLCJjb21tYW5kcyIsInByb3RvdHlwZSIsImdlY2tvIiwicHJveHlSZXFSZXMiLCJpc1Byb3h5QWN0aXZlIiwicHJveHlBY3RpdmUiLCJnZXRQcm94eUF2b2lkTGlzdCIsImNhblByb3h5IiwiY3JlYXRlU2Vzc2lvbiIsImFyZ3MiLCJzZXNzaW9uSWQiLCJjYXBzIiwiR2Vja29Ecml2ZXJTZXJ2ZXIiLCJsb2ciLCJzdGFydCIsImZvcm1hdENhcHNGb3JTZXJ2ZXIiLCJlIiwiZGVsZXRlU2Vzc2lvbiIsInByb3h5IiwiYmluZCIsImluZm8iLCJzdG9wIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL2RyaXZlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmFzZURyaXZlciB9IGZyb20gJ2FwcGl1bS9kcml2ZXInO1xuaW1wb3J0IEdlY2tvRHJpdmVyU2VydmVyIGZyb20gJy4vZ2Vja28nO1xuaW1wb3J0IHsgZGVzaXJlZENhcENvbnN0cmFpbnRzIH0gZnJvbSAnLi9kZXNpcmVkLWNhcHMnO1xuaW1wb3J0IGNvbW1hbmRzIGZyb20gJy4vY29tbWFuZHMvaW5kZXgnO1xuaW1wb3J0IHsgZm9ybWF0Q2Fwc0ZvclNlcnZlciB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBOT19QUk9YWSA9IFtcbiAgWydHRVQnLCBuZXcgUmVnRXhwKCdeL3Nlc3Npb24vW14vXSsvYXBwaXVtJyldLFxuICBbJ1BPU1QnLCBuZXcgUmVnRXhwKCdeL3Nlc3Npb24vW14vXSsvYXBwaXVtJyldLFxuICBbJ1BPU1QnLCBuZXcgUmVnRXhwKCdeL3Nlc3Npb24vW14vXSsvZWxlbWVudC9bXi9dKy9lbGVtZW50cz8kJyldLFxuICBbJ1BPU1QnLCBuZXcgUmVnRXhwKCdeL3Nlc3Npb24vW14vXSsvZWxlbWVudHM/JCcpXSxcbl07XG5cbmNsYXNzIEdlY2tvRHJpdmVyIGV4dGVuZHMgQmFzZURyaXZlciB7XG4gIGNvbnN0cnVjdG9yIChvcHRzID0ge30pIHtcbiAgICBzdXBlcihvcHRzKTtcbiAgICB0aGlzLmRlc2lyZWRDYXBDb25zdHJhaW50cyA9IGRlc2lyZWRDYXBDb25zdHJhaW50cztcbiAgICB0aGlzLmxvY2F0b3JTdHJhdGVnaWVzID0gW1xuICAgICAgJ3hwYXRoJyxcbiAgICAgICd0YWcgbmFtZScsXG4gICAgICAnbGluayB0ZXh0JyxcbiAgICAgICdwYXJ0aWFsIGxpbmsgdGV4dCcsXG4gICAgICAnY3NzIHNlbGVjdG9yJyxcbiAgICAgIC8vIExldCB0aGVzZSB0d28gcmVhY2ggR2Vja28gRHJpdmVyIGFuZCBmYWlsIHRoZXJlIHdpdGggYSBwcm9wZXIgZXJyb3IgbWVzc2FnZVxuICAgICAgJ2lkJyxcbiAgICAgICduYW1lJyxcbiAgICBdO1xuICAgIHRoaXMucmVzZXRTdGF0ZSgpO1xuXG4gICAgZm9yIChjb25zdCBbY21kLCBmbl0gb2YgXy50b1BhaXJzKGNvbW1hbmRzKSkge1xuICAgICAgR2Vja29Ecml2ZXIucHJvdG90eXBlW2NtZF0gPSBmbjtcbiAgICB9XG4gIH1cblxuICByZXNldFN0YXRlICgpIHtcbiAgICB0aGlzLmdlY2tvID0gbnVsbDtcbiAgICB0aGlzLnByb3h5UmVxUmVzID0gbnVsbDtcbiAgICB0aGlzLmlzUHJveHlBY3RpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHByb3h5QWN0aXZlICgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1Byb3h5QWN0aXZlO1xuICB9XG5cbiAgZ2V0UHJveHlBdm9pZExpc3QgKCkge1xuICAgIHJldHVybiBOT19QUk9YWTtcbiAgfVxuXG4gIGNhblByb3h5ICgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVNlc3Npb24gKC4uLmFyZ3MpIHtcbiAgICBjb25zdCBbc2Vzc2lvbklkLCBjYXBzXSA9IGF3YWl0IHN1cGVyLmNyZWF0ZVNlc3Npb24oLi4uYXJncyk7XG4gICAgdGhpcy5nZWNrbyA9IG5ldyBHZWNrb0RyaXZlclNlcnZlcih0aGlzLmxvZywgY2Fwcyk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZ2Vja28uc3RhcnQoZm9ybWF0Q2Fwc0ZvclNlcnZlcihjYXBzKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYXdhaXQgdGhpcy5kZWxldGVTZXNzaW9uKCk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICB0aGlzLnByb3h5UmVxUmVzID0gdGhpcy5nZWNrby5wcm94eS5wcm94eVJlcVJlcy5iaW5kKHRoaXMuZ2Vja28ucHJveHkpO1xuICAgIHRoaXMuaXNQcm94eUFjdGl2ZSA9IHRydWU7XG4gICAgcmV0dXJuIFtzZXNzaW9uSWQsIGNhcHNdO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlU2Vzc2lvbiAoKSB7XG4gICAgdGhpcy5sb2cuaW5mbygnRW5kaW5nIEdlY2tvIERyaXZlciBzZXNzaW9uJyk7XG4gICAgYXdhaXQgdGhpcy5nZWNrby5zdG9wKCk7XG4gICAgdGhpcy5yZXNldFN0YXRlKCk7XG5cbiAgICBhd2FpdCBzdXBlci5kZWxldGVTZXNzaW9uKCk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgR2Vja29Ecml2ZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsTUFBTUEsUUFBUSxHQUFHLENBQ2YsQ0FBQyxLQUFLLEVBQUUsSUFBSUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUMsRUFDN0MsQ0FBQyxNQUFNLEVBQUUsSUFBSUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUMsRUFDOUMsQ0FBQyxNQUFNLEVBQUUsSUFBSUEsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUMsRUFDaEUsQ0FBQyxNQUFNLEVBQUUsSUFBSUEsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FDbkQ7QUFFRCxNQUFNQyxXQUFXLFNBQVNDLGtCQUFVLENBQUM7RUFDbkNDLFdBQVcsQ0FBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ3RCLEtBQUssQ0FBQ0EsSUFBSSxDQUFDO0lBQ1gsSUFBSSxDQUFDQyxxQkFBcUIsR0FBR0Esa0NBQXFCO0lBQ2xELElBQUksQ0FBQ0MsaUJBQWlCLEdBQUcsQ0FDdkIsT0FBTyxFQUNQLFVBQVUsRUFDVixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGNBQWMsRUFFZCxJQUFJLEVBQ0osTUFBTSxDQUNQO0lBQ0QsSUFBSSxDQUFDQyxVQUFVLEVBQUU7SUFFakIsS0FBSyxNQUFNLENBQUNDLEdBQUcsRUFBRUMsRUFBRSxDQUFDLElBQUlDLGVBQUMsQ0FBQ0MsT0FBTyxDQUFDQyxjQUFRLENBQUMsRUFBRTtNQUMzQ1gsV0FBVyxDQUFDWSxTQUFTLENBQUNMLEdBQUcsQ0FBQyxHQUFHQyxFQUFFO0lBQ2pDO0VBQ0Y7RUFFQUYsVUFBVSxHQUFJO0lBQ1osSUFBSSxDQUFDTyxLQUFLLEdBQUcsSUFBSTtJQUNqQixJQUFJLENBQUNDLFdBQVcsR0FBRyxJQUFJO0lBQ3ZCLElBQUksQ0FBQ0MsYUFBYSxHQUFHLEtBQUs7RUFDNUI7RUFFQUMsV0FBVyxHQUFJO0lBQ2IsT0FBTyxJQUFJLENBQUNELGFBQWE7RUFDM0I7RUFFQUUsaUJBQWlCLEdBQUk7SUFDbkIsT0FBT25CLFFBQVE7RUFDakI7RUFFQW9CLFFBQVEsR0FBSTtJQUNWLE9BQU8sSUFBSTtFQUNiO0VBRUEsTUFBTUMsYUFBYSxDQUFFLEdBQUdDLElBQUksRUFBRTtJQUM1QixNQUFNLENBQUNDLFNBQVMsRUFBRUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxLQUFLLENBQUNILGFBQWEsQ0FBQyxHQUFHQyxJQUFJLENBQUM7SUFDNUQsSUFBSSxDQUFDUCxLQUFLLEdBQUcsSUFBSVUsY0FBaUIsQ0FBQyxJQUFJLENBQUNDLEdBQUcsRUFBRUYsSUFBSSxDQUFDO0lBQ2xELElBQUk7TUFDRixNQUFNLElBQUksQ0FBQ1QsS0FBSyxDQUFDWSxLQUFLLENBQUMsSUFBQUMsMEJBQW1CLEVBQUNKLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUMsQ0FBQyxPQUFPSyxDQUFDLEVBQUU7TUFDVixNQUFNLElBQUksQ0FBQ0MsYUFBYSxFQUFFO01BQzFCLE1BQU1ELENBQUM7SUFDVDtJQUNBLElBQUksQ0FBQ2IsV0FBVyxHQUFHLElBQUksQ0FBQ0QsS0FBSyxDQUFDZ0IsS0FBSyxDQUFDZixXQUFXLENBQUNnQixJQUFJLENBQUMsSUFBSSxDQUFDakIsS0FBSyxDQUFDZ0IsS0FBSyxDQUFDO0lBQ3RFLElBQUksQ0FBQ2QsYUFBYSxHQUFHLElBQUk7SUFDekIsT0FBTyxDQUFDTSxTQUFTLEVBQUVDLElBQUksQ0FBQztFQUMxQjtFQUVBLE1BQU1NLGFBQWEsR0FBSTtJQUNyQixJQUFJLENBQUNKLEdBQUcsQ0FBQ08sSUFBSSxDQUFDLDZCQUE2QixDQUFDO0lBQzVDLE1BQU0sSUFBSSxDQUFDbEIsS0FBSyxDQUFDbUIsSUFBSSxFQUFFO0lBQ3ZCLElBQUksQ0FBQzFCLFVBQVUsRUFBRTtJQUVqQixNQUFNLEtBQUssQ0FBQ3NCLGFBQWEsRUFBRTtFQUM3QjtBQUNGO0FBQUMsZUFFYzVCLFdBQVc7QUFBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver.js","names":["NO_PROXY","RegExp","GeckoDriver","BaseDriver","constructor","opts","desiredCapConstraints","locatorStrategies","resetState","cmd","fn","_","toPairs","commands","prototype","gecko","proxyReqRes","isProxyActive","proxyActive","getProxyAvoidList","canProxy","createSession","args","sessionId","caps","GeckoDriverServer","log","start","formatCapsForServer","e","deleteSession","proxy","bind","info","stop"],"sources":["../../lib/driver.js"],"sourcesContent":["import _ from 'lodash';\nimport { BaseDriver } from 'appium/driver';\nimport GeckoDriverServer from './gecko';\nimport { desiredCapConstraints } from './desired-caps';\nimport commands from './commands/index';\nimport { formatCapsForServer } from './utils';\n\nconst NO_PROXY = [\n ['GET', new RegExp('^/session/[^/]+/appium')],\n ['POST', new RegExp('^/session/[^/]+/appium')],\n ['POST', new RegExp('^/session/[^/]+/element/[^/]+/elements?$')],\n ['POST', new RegExp('^/session/[^/]+/elements?$')],\n];\n\nclass GeckoDriver extends BaseDriver {\n constructor (opts = {}) {\n super(opts);\n this.desiredCapConstraints = desiredCapConstraints;\n this.locatorStrategies = [\n 'xpath',\n 'tag name',\n 'link text',\n 'partial link text',\n 'css selector',\n // Let these two reach Gecko Driver and fail there with a proper error message\n 'id',\n 'name',\n ];\n this.resetState();\n\n for (const [cmd, fn] of _.toPairs(commands)) {\n GeckoDriver.prototype[cmd] = fn;\n }\n }\n\n resetState () {\n this.gecko = null;\n this.proxyReqRes = null;\n this.isProxyActive = false;\n }\n\n proxyActive () {\n return this.isProxyActive;\n }\n\n getProxyAvoidList () {\n return NO_PROXY;\n }\n\n canProxy () {\n return true;\n }\n\n async createSession (...args) {\n const [sessionId, caps] = await super.createSession(...args);\n this.gecko = new GeckoDriverServer(this.log, caps);\n try {\n await this.gecko.start(formatCapsForServer(caps));\n } catch (e) {\n await this.deleteSession();\n throw e;\n }\n this.proxyReqRes = this.gecko.proxy.proxyReqRes.bind(this.gecko.proxy);\n this.isProxyActive = true;\n return [sessionId, caps];\n }\n\n async deleteSession () {\n this.log.info('Ending Gecko Driver session');\n await this.gecko.stop();\n this.resetState();\n\n await super.deleteSession();\n }\n}\n\nexport default GeckoDriver;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAMA,QAAQ,GAAG,CACf,CAAC,KAAK,EAAE,IAAIC,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAC7C,CAAC,MAAM,EAAE,IAAIA,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAC9C,CAAC,MAAM,EAAE,IAAIA,MAAM,CAAC,0CAA0C,CAAC,CAAC,EAChE,CAAC,MAAM,EAAE,IAAIA,MAAM,CAAC,4BAA4B,CAAC,CAAC,CACnD;AAED,MAAMC,WAAW,SAASC,kBAAU,CAAC;EACnCC,WAAW,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;IACtB,KAAK,CAACA,IAAI,CAAC;IACX,IAAI,CAACC,qBAAqB,GAAGA,kCAAqB;IAClD,IAAI,CAACC,iBAAiB,GAAG,CACvB,OAAO,EACP,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,cAAc,EAEd,IAAI,EACJ,MAAM,CACP;IACD,IAAI,CAACC,UAAU,EAAE;IAEjB,KAAK,MAAM,CAACC,GAAG,EAAEC,EAAE,CAAC,IAAIC,eAAC,CAACC,OAAO,CAACC,cAAQ,CAAC,EAAE;MAC3CX,WAAW,CAACY,SAAS,CAACL,GAAG,CAAC,GAAGC,EAAE;IACjC;EACF;EAEAF,UAAU,GAAI;IACZ,IAAI,CAACO,KAAK,GAAG,IAAI;IACjB,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,aAAa,GAAG,KAAK;EAC5B;EAEAC,WAAW,GAAI;IACb,OAAO,IAAI,CAACD,aAAa;EAC3B;EAEAE,iBAAiB,GAAI;IACnB,OAAOnB,QAAQ;EACjB;EAEAoB,QAAQ,GAAI;IACV,OAAO,IAAI;EACb;EAEA,MAAMC,aAAa,CAAE,GAAGC,IAAI,EAAE;IAC5B,MAAM,CAACC,SAAS,EAAEC,IAAI,CAAC,GAAG,MAAM,KAAK,CAACH,aAAa,CAAC,GAAGC,IAAI,CAAC;IAC5D,IAAI,CAACP,KAAK,GAAG,IAAIU,cAAiB,CAAC,IAAI,CAACC,GAAG,EAAEF,IAAI,CAAC;IAClD,IAAI;MACF,MAAM,IAAI,CAACT,KAAK,CAACY,KAAK,CAAC,IAAAC,0BAAmB,EAACJ,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,OAAOK,CAAC,EAAE;MACV,MAAM,IAAI,CAACC,aAAa,EAAE;MAC1B,MAAMD,CAAC;IACT;IACA,IAAI,CAACb,WAAW,GAAG,IAAI,CAACD,KAAK,CAACgB,KAAK,CAACf,WAAW,CAACgB,IAAI,CAAC,IAAI,CAACjB,KAAK,CAACgB,KAAK,CAAC;IACtE,IAAI,CAACd,aAAa,GAAG,IAAI;IACzB,OAAO,CAACM,SAAS,EAAEC,IAAI,CAAC;EAC1B;EAEA,MAAMM,aAAa,GAAI;IACrB,IAAI,CAACJ,GAAG,CAACO,IAAI,CAAC,6BAA6B,CAAC;IAC5C,MAAM,IAAI,CAAClB,KAAK,CAACmB,IAAI,EAAE;IACvB,IAAI,CAAC1B,UAAU,EAAE;IAEjB,MAAM,KAAK,CAACsB,aAAa,EAAE;EAC7B;AACF;AAAC,eAEc5B,WAAW;AAAA"}
|