appium-espresso-driver 2.8.4 → 2.10.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/README.md +171 -0
- package/build/lib/commands/execute.js +12 -1
- package/espresso-server/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk +0 -0
- package/espresso-server/app/src/androidTest/java/io/appium/espressoserver/lib/helpers/IntentHelpers.kt +14 -0
- package/espresso-server/app/src/androidTest/java/io/appium/espressoserver/lib/helpers/ViewFinder.kt +3 -3
- package/espresso-server/app/src/test/java/io/appium/espressoserver/test/model/HamcrestMatcherTest.kt +10 -1
- package/lib/commands/execute.js +12 -1
- package/npm-shrinkwrap.json +111 -48
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -283,6 +283,7 @@ el | `Map<string, long>` | Intent long integer parameters | {'foo': 1L, 'bar': 2
|
|
|
283
283
|
ef | `Map<string, float>` | Intent float parameters | {'foo': 1.ff, 'bar': 2.2f}
|
|
284
284
|
eu | `Map<string, string>` | Intent URI-data parameters | {'foo': 'content://contacts/people/1'}
|
|
285
285
|
ecn | `Map<string, string>` | Intent component name parameters | {'foo': 'com.example.app/.ExampleActivity'}
|
|
286
|
+
esa | `Map<string, List<string>>` | Intent string array parameters | {'foo': ['bar1','bar2','bar3','bar4']}
|
|
286
287
|
eia | `Map<string, string>` | Intent integer array parameters | {'foo': '1,2,3,4'}
|
|
287
288
|
ela | `Map<string, string>` | Intent long array parameters | {'foo': '1L,2L,3L,4L'}
|
|
288
289
|
efa | `Map<string, string>` | Intent float array parameters | {'foo': '1.1,2.2,3.2,4.4'}
|
|
@@ -720,6 +721,45 @@ Name | Type | Required | Description | Example
|
|
|
720
721
|
--- | --- | --- | --- | ---
|
|
721
722
|
timeoutMs | number | no | The maximum number of milliseconds to block until GPS cache is refreshed. If the API call does not receive a confirmation about successful cache refresh within this timeout then an error is thrown. Providing zero or a negative value to it skips waiting completely and does not check for any errors. 20000 ms by default. | 60000
|
|
722
723
|
|
|
724
|
+
### mobile: pullFile
|
|
725
|
+
|
|
726
|
+
Pulls a remote file from the device.
|
|
727
|
+
|
|
728
|
+
#### Arguments
|
|
729
|
+
|
|
730
|
+
Name | Type | Required | Description | Example
|
|
731
|
+
--- | --- | --- | --- | ---
|
|
732
|
+
remotePath | string | yes | The full path to the remote file or a specially formatted path, which points to an item inside an app bundle, for example `@my.app.id/my/path`. It is mandatory for the app bundle to have [debugging enabled](https://developer.android.com/studio/debug) in order to use the latter remotePath format. If the file with the given name does not exist then an exception will be thrown. | /sdcard/foo.bar
|
|
733
|
+
|
|
734
|
+
#### Returned Result
|
|
735
|
+
|
|
736
|
+
Base64-encoded string, which represents the content of the remote file.
|
|
737
|
+
|
|
738
|
+
### mobile: pushFile
|
|
739
|
+
|
|
740
|
+
Pushes a local file to the device.
|
|
741
|
+
|
|
742
|
+
#### Arguments
|
|
743
|
+
|
|
744
|
+
Name | Type | Required | Description | Example
|
|
745
|
+
--- | --- | --- | --- | ---
|
|
746
|
+
remotePath | string | yes | The path on the device to where the payload should be written. The value format is similar to the one used in [pullFile](#mobile-pullfile) extension. If the file with the same name already exists then it will be silently overridden. | /sdcard/foo.bar
|
|
747
|
+
payload | string | yes | Base64-encoded content of the file to be pushed. | QXBwaXVt
|
|
748
|
+
|
|
749
|
+
### mobile: pullFolder
|
|
750
|
+
|
|
751
|
+
Pulls a remote folder from the device.
|
|
752
|
+
|
|
753
|
+
#### Arguments
|
|
754
|
+
|
|
755
|
+
Name | Type | Required | Description | Example
|
|
756
|
+
--- | --- | --- | --- | ---
|
|
757
|
+
remotePath | string | yes | Same as for [pullFile](#mobile-pullfile) extension, but should be pointing to a remote folder | /sdcard/yolo/
|
|
758
|
+
|
|
759
|
+
#### Returned Result
|
|
760
|
+
|
|
761
|
+
Base64-encoded string, which represents the zipped content of the remote folder.
|
|
762
|
+
|
|
723
763
|
### mobile: deleteFile
|
|
724
764
|
|
|
725
765
|
Deletes a file on the remote device.
|
|
@@ -730,6 +770,111 @@ Name | Type | Required | Description | Example
|
|
|
730
770
|
--- | --- | --- | --- | ---
|
|
731
771
|
remotePath | string | yes | The full path to the remote file or a file inside an application bundle | `/sdcard/myfile.txt` or `@my.app.id/path/in/bundle`
|
|
732
772
|
|
|
773
|
+
### mobile: isAppInstalled
|
|
774
|
+
|
|
775
|
+
Verify whether an application is installed on the device under test.
|
|
776
|
+
|
|
777
|
+
#### Arguments
|
|
778
|
+
|
|
779
|
+
Name | Type | Required | Description | Example
|
|
780
|
+
--- | --- | --- | --- | ---
|
|
781
|
+
appId | string | yes | The identifier of the application package to be checked | `my.app.id`
|
|
782
|
+
|
|
783
|
+
#### Returned Result
|
|
784
|
+
|
|
785
|
+
True or false
|
|
786
|
+
|
|
787
|
+
### mobile: queryAppState
|
|
788
|
+
|
|
789
|
+
Queries the current state of the app.
|
|
790
|
+
|
|
791
|
+
#### Arguments
|
|
792
|
+
|
|
793
|
+
Name | Type | Required | Description | Example
|
|
794
|
+
--- | --- | --- | --- | ---
|
|
795
|
+
appId | string | yes | The identifier of the application package to be checked | `my.app.id`
|
|
796
|
+
|
|
797
|
+
#### Returned Result
|
|
798
|
+
|
|
799
|
+
The following numbers could returned:
|
|
800
|
+
- The app is not installed: `0`
|
|
801
|
+
- The app is installed and is not running: `1`
|
|
802
|
+
- The app is running in background: `3`
|
|
803
|
+
- The app is running in foreground: `4`
|
|
804
|
+
|
|
805
|
+
### mobile: activateApp
|
|
806
|
+
|
|
807
|
+
Activates the given application or launches it if necessary.
|
|
808
|
+
The action literally simulates
|
|
809
|
+
clicking the corresponding application icon on the dashboard.
|
|
810
|
+
|
|
811
|
+
#### Arguments
|
|
812
|
+
|
|
813
|
+
Name | Type | Required | Description | Example
|
|
814
|
+
--- | --- | --- | --- | ---
|
|
815
|
+
appId | string | yes | The identifier of the application package to be activated | `my.app.id`
|
|
816
|
+
|
|
817
|
+
### mobile: removeApp
|
|
818
|
+
|
|
819
|
+
Remove the corresponding application if is installed.
|
|
820
|
+
The call is ignored if the app is not installed.
|
|
821
|
+
|
|
822
|
+
#### Arguments
|
|
823
|
+
|
|
824
|
+
Name | Type | Required | Description | Example
|
|
825
|
+
--- | --- | --- | --- | ---
|
|
826
|
+
appId | string | yes | The identifier of the application package to be removed | `my.app.id`
|
|
827
|
+
|
|
828
|
+
#### Returned Result
|
|
829
|
+
|
|
830
|
+
True is the app has been found on the device and successfully removed. Otherwise false.
|
|
831
|
+
|
|
832
|
+
### mobile: terminateApp
|
|
833
|
+
|
|
834
|
+
Terminates the app if it is running.
|
|
835
|
+
|
|
836
|
+
#### Arguments
|
|
837
|
+
|
|
838
|
+
Name | Type | Required | Description | Example
|
|
839
|
+
--- | --- | --- | --- | ---
|
|
840
|
+
appId | string | yes | The identifier of the application package to be terminated | `my.app.id`
|
|
841
|
+
timeout | number | no | The count of milliseconds to wait until the app is terminated. 500ms by default. | 1500
|
|
842
|
+
|
|
843
|
+
#### Returned Result
|
|
844
|
+
|
|
845
|
+
True if the app has been successfully terminated.
|
|
846
|
+
|
|
847
|
+
### mobile: installApp
|
|
848
|
+
|
|
849
|
+
Installs the given application package to the device under test.
|
|
850
|
+
|
|
851
|
+
#### Arguments
|
|
852
|
+
|
|
853
|
+
Name | Type | Required | Description | Example
|
|
854
|
+
--- | --- | --- | --- | ---
|
|
855
|
+
appPath | string | yes | The local .apk(s) path on the server filesystem or a remote url. | `/app/path.apk`
|
|
856
|
+
timeout | number | no | The count of milliseconds to wait until the app is installed.. 6000ms by default. | 120000
|
|
857
|
+
allowTestPackages | boolean | no | Set to true in order to allow test packages installation. false by default | true
|
|
858
|
+
useSdcard | boolean | no | Set to true to install the app on sdcard instead of the device memory. false by default | true
|
|
859
|
+
grantPermissions | boolean | no | Set to true in order to grant all the permissions requested in the application's manifest automatically after the installation is completed under Android 6+. false by default | true
|
|
860
|
+
replace | boolean | no | Set it to false if you don't want the application to be upgraded/reinstalled if it is already present on the device, but throw an error instead. true by default | false
|
|
861
|
+
|
|
862
|
+
### mobile: clearApp
|
|
863
|
+
|
|
864
|
+
Deletes all data associated with a package. Calls `adb shell pm clear` under the hood.
|
|
865
|
+
The app should be accessible, should not be running,
|
|
866
|
+
and should exist on the device under test for this extension to work properly.
|
|
867
|
+
|
|
868
|
+
#### Arguments
|
|
869
|
+
|
|
870
|
+
Name | Type | Required | Description | Example
|
|
871
|
+
--- | --- | --- | --- | ---
|
|
872
|
+
appId | string | yes | The identifier of the application package to be cleared | `my.app.id`
|
|
873
|
+
|
|
874
|
+
#### Returned Result
|
|
875
|
+
|
|
876
|
+
Stdout of the corresponding adb command.
|
|
877
|
+
|
|
733
878
|
### mobile: startActivity
|
|
734
879
|
|
|
735
880
|
Starts the given activity with intent options, activity options and locale. Activity could only be executed in scope of the current app package.
|
|
@@ -766,6 +911,32 @@ Name | Type | Required | Description | Example
|
|
|
766
911
|
intent | string | yes | The name of the service intent to stop. Only services in the app's under test scope could be stopped. | `com.some.package.name/.YourServiceSubClassName`
|
|
767
912
|
user | number or string | no | The user ID for which the service is started. The `current` user id is used by default | 1006
|
|
768
913
|
|
|
914
|
+
### mobile: broadcast
|
|
915
|
+
|
|
916
|
+
Send a broadcast Intent. Invokes `am broadcast` command under the hood.
|
|
917
|
+
|
|
918
|
+
#### Arguments
|
|
919
|
+
|
|
920
|
+
Name | Type | Required | Description | Example
|
|
921
|
+
--- | --- | --- | --- | ---
|
|
922
|
+
intent | string | no | The full name of the intent to broadcast | `com.some.package.name/.YourIntentClassName`
|
|
923
|
+
user | number or string | no | Specify which user to send to; if not specified then send to all users. Possible values are `all`/`current`/`<numeric user id>` | current
|
|
924
|
+
receiverPermission | string | no | Require receiver to hold the given permission | android.permission.READ_PROFILE
|
|
925
|
+
allowBackgroundActivityStarts | boolean | no | The receiver may start activities even if in the background if set to `true` | false
|
|
926
|
+
action | string | no | Action name. The actual value for the Activity Manager's `-a` argument. | android.intent.action.MAIN
|
|
927
|
+
uri | string | no | Unified resource identifier. The actual value for the Activity Manager's `-d` argument. | https://appium.io
|
|
928
|
+
mimeType | string | no | Mime type. The actual value for the Activity Manager's `-t` argument. | application/json
|
|
929
|
+
identifier | string | no | Optional identifier. The actual value for the Activity Manager's `-i` argument. | my_identifier
|
|
930
|
+
categories | string or Array<string> | no | One or more category names. The actual value(s) for the Activity Manager's `-c` argument. | android.intent.category.LAUNCHER
|
|
931
|
+
component | string | no | Component name. The actual value for the Activity Manager's `-n` argument. | com.myapp/com.myapp.SplashActivity
|
|
932
|
+
package | string | no | Package name. The actual value for the Activity Manager's `-p` argument. | com.myapp
|
|
933
|
+
extras | Array<Array<string>> | no | Optional intent arguments. Must be represented as an array of arrays, where each subarray item contains two (only in case it no value is required for the given type) or three string items: value type, key (variable name) and the value itself. Supported value types are: `s`: string. Value must be a valid string; `sn`: null. Value is ignored for this type; `z`: boolean. Value must be either `true` or `false`; `i`: integer. Value must be a valid 4-byte integer number; `l`: long. Value must be a valid 8-byte long number; `f`: float: Value must be a valid float number; `u`: uri. Value must be a valid uniform resource identifier string; `cn`: component name. Value must be a valid component name string; `ia`: Integer[]. Value must be a string of comma-separated integers; `ial`: List<Integer>. Value must be a string of comma-separated integers; `la`: Long[]. Value must be a string of comma-separated long numbers; `lal`: List<Long>. Value must be a string of comma-separated long numbers; `fa`: Float[]. Value must be a string of comma-separated float numbers; `fal`: List<Float>. Value must be a string of comma-separated float numbers; `sa`: String[]. Value must be comma-separated strings. To embed a comma into a string escape it using "\,"; `sal`: List<String>. Value must be comma-separated strings. To embed a comma into a string, escape it using "\," | [['s', 'varName1', 'My String1'], ['s', 'varName2', 'My String2'], ['ia', 'arrName', '1,2,3,4']]
|
|
934
|
+
flags | string | no | Intent startup-specific flags as a hexadecimal string. Check [Intent documentation](https://developer.android.com/reference/android/content/Intent.html) for the list of available flag values (constants starting with `FLAG_ACTIVITY_`). Flag values could be merged using the logical 'or' operation. | 0x10200000 is the combination of two flags: 0x10000000 `FLAG_ACTIVITY_NEW_TASK` `|` 0x00200000 `FLAG_ACTIVITY_RESET_TASK_IF_NEEDED`
|
|
935
|
+
|
|
936
|
+
#### Returned Result
|
|
937
|
+
|
|
938
|
+
The actual stdout of the downstream `am` command.
|
|
939
|
+
|
|
769
940
|
### mobile: getDeviceTime
|
|
770
941
|
|
|
771
942
|
Retrieves the current device's timestamp.
|
|
@@ -45,10 +45,21 @@ extensions.executeMobile = async function executeMobile(mobileCommand, opts = {}
|
|
|
45
45
|
getNotifications: 'mobileGetNotifications',
|
|
46
46
|
listSms: 'mobileListSms',
|
|
47
47
|
sensorSet: 'sensorSet',
|
|
48
|
+
pushFile: 'mobilePushFile',
|
|
49
|
+
pullFile: 'mobilePullFile',
|
|
50
|
+
pullFolder: 'mobilePullFolder',
|
|
48
51
|
deleteFile: 'mobileDeleteFile',
|
|
52
|
+
isAppInstalled: 'mobileIsAppInstalled',
|
|
53
|
+
queryAppState: 'mobileQueryAppState',
|
|
54
|
+
activateApp: 'mobileActivateApp',
|
|
55
|
+
removeApp: 'mobileRemoveApp',
|
|
56
|
+
terminateApp: 'mobileTerminateApp',
|
|
57
|
+
installApp: 'mobileInstallApp',
|
|
58
|
+
clearApp: 'mobileClearApp',
|
|
49
59
|
startActivity: 'mobileStartActivity',
|
|
50
60
|
startService: 'mobileStartService',
|
|
51
61
|
stopService: 'mobileStopService',
|
|
62
|
+
broadcast: 'mobileBroadcast',
|
|
52
63
|
registerIdlingResources: 'mobileRegisterIdlingResources',
|
|
53
64
|
unregisterIdlingResources: 'mobileUnregisterIdlingResources',
|
|
54
65
|
listIdlingResources: 'mobileListIdlingResources',
|
|
@@ -68,4 +79,4 @@ extensions.executeMobile = async function executeMobile(mobileCommand, opts = {}
|
|
|
68
79
|
|
|
69
80
|
var _default = extensions;
|
|
70
81
|
exports.default = _default;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHRlbnNpb25zIiwiZXhlY3V0ZU1vYmlsZSIsIm1vYmlsZUNvbW1hbmQiLCJvcHRzIiwibW9iaWxlQ29tbWFuZHNNYXBwaW5nIiwic2hlbGwiLCJleGVjRW11Q29uc29sZUNvbW1hbmQiLCJwZXJmb3JtRWRpdG9yQWN0aW9uIiwiY2hhbmdlUGVybWlzc2lvbnMiLCJnZXRQZXJtaXNzaW9ucyIsInN0YXJ0U2NyZWVuU3RyZWFtaW5nIiwic3RvcFNjcmVlblN0cmVhbWluZyIsInN3aXBlIiwic2Nyb2xsVG9QYWdlIiwibmF2aWdhdGVUbyIsImNsaWNrQWN0aW9uIiwiZGV2aWNlSW5mbyIsImlzVG9hc3RWaXNpYmxlIiwib3BlbkRyYXdlciIsImNsb3NlRHJhd2VyIiwic2V0RGF0ZSIsInNldFRpbWUiLCJnZXREZXZpY2VUaW1lIiwiYmFja2Rvb3IiLCJmbGFzaEVsZW1lbnQiLCJ1aWF1dG9tYXRvciIsInVpYXV0b21hdG9yUGFnZVNvdXJjZSIsIndlYkF0b21zIiwiZ2V0Q29udGV4dHMiLCJkaXNtaXNzQXV0b2ZpbGwiLCJnZXROb3RpZmljYXRpb25zIiwibGlzdFNtcyIsInNlbnNvclNldCIsInB1c2hGaWxlIiwicHVsbEZpbGUiLCJwdWxsRm9sZGVyIiwiZGVsZXRlRmlsZSIsImlzQXBwSW5zdGFsbGVkIiwicXVlcnlBcHBTdGF0ZSIsImFjdGl2YXRlQXBwIiwicmVtb3ZlQXBwIiwidGVybWluYXRlQXBwIiwiaW5zdGFsbEFwcCIsImNsZWFyQXBwIiwic3RhcnRBY3Rpdml0eSIsInN0YXJ0U2VydmljZSIsInN0b3BTZXJ2aWNlIiwiYnJvYWRjYXN0IiwicmVnaXN0ZXJJZGxpbmdSZXNvdXJjZXMiLCJ1bnJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzIiwibGlzdElkbGluZ1Jlc291cmNlcyIsInVubG9jayIsInJlZnJlc2hHcHNDYWNoZSIsInN0YXJ0TWVkaWFQcm9qZWN0aW9uUmVjb3JkaW5nIiwiaXNNZWRpYVByb2plY3Rpb25SZWNvcmRpbmdSdW5uaW5nIiwic3RvcE1lZGlhUHJvamVjdGlvblJlY29yZGluZyIsIl8iLCJoYXMiLCJlcnJvcnMiLCJVbmtub3duQ29tbWFuZEVycm9yIiwia2V5cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9leGVjdXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBlcnJvcnMgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcblxuY29uc3QgZXh0ZW5zaW9ucyA9IHt9O1xuXG5leHRlbnNpb25zLmV4ZWN1dGVNb2JpbGUgPSBhc3luYyBmdW5jdGlvbiBleGVjdXRlTW9iaWxlIChtb2JpbGVDb21tYW5kLCBvcHRzID0ge30pIHtcbiAgY29uc3QgbW9iaWxlQ29tbWFuZHNNYXBwaW5nID0ge1xuICAgIHNoZWxsOiAnbW9iaWxlU2hlbGwnLFxuXG4gICAgZXhlY0VtdUNvbnNvbGVDb21tYW5kOiAnbW9iaWxlRXhlY0VtdUNvbnNvbGVDb21tYW5kJyxcblxuICAgIHBlcmZvcm1FZGl0b3JBY3Rpb246ICdtb2JpbGVQZXJmb3JtRWRpdG9yQWN0aW9uJyxcblxuICAgIGNoYW5nZVBlcm1pc3Npb25zOiAnbW9iaWxlQ2hhbmdlUGVybWlzc2lvbnMnLFxuICAgIGdldFBlcm1pc3Npb25zOiAnbW9iaWxlR2V0UGVybWlzc2lvbnMnLFxuXG4gICAgc3RhcnRTY3JlZW5TdHJlYW1pbmc6ICdtb2JpbGVTdGFydFNjcmVlblN0cmVhbWluZycsXG4gICAgc3RvcFNjcmVlblN0cmVhbWluZzogJ21vYmlsZVN0b3BTY3JlZW5TdHJlYW1pbmcnLFxuXG4gICAgc3dpcGU6ICdtb2JpbGVTd2lwZScsXG4gICAgc2Nyb2xsVG9QYWdlOiAnbW9iaWxlU2Nyb2xsVG9QYWdlJyxcbiAgICBuYXZpZ2F0ZVRvOiAnbW9iaWxlTmF2aWdhdGVUbycsXG4gICAgY2xpY2tBY3Rpb246ICdtb2JpbGVDbGlja0FjdGlvbicsXG5cbiAgICBkZXZpY2VJbmZvOiAnbW9iaWxlR2V0RGV2aWNlSW5mbycsXG5cbiAgICBpc1RvYXN0VmlzaWJsZTogJ21vYmlsZUlzVG9hc3RWaXNpYmxlJyxcblxuICAgIG9wZW5EcmF3ZXI6ICdtb2JpbGVPcGVuRHJhd2VyJyxcbiAgICBjbG9zZURyYXdlcjogJ21vYmlsZUNsb3NlRHJhd2VyJyxcblxuICAgIHNldERhdGU6ICdtb2JpbGVTZXREYXRlJyxcbiAgICBzZXRUaW1lOiAnbW9iaWxlU2V0VGltZScsXG5cbiAgICBnZXREZXZpY2VUaW1lOiAnbW9iaWxlR2V0RGV2aWNlVGltZScsXG5cbiAgICBiYWNrZG9vcjogJ21vYmlsZUJhY2tkb29yJyxcblxuICAgIGZsYXNoRWxlbWVudDogJ21vYmlsZUZsYXNoRWxlbWVudCcsXG5cbiAgICB1aWF1dG9tYXRvcjogJ21vYmlsZVVpYXV0b21hdG9yJyxcbiAgICB1aWF1dG9tYXRvclBhZ2VTb3VyY2U6ICdtb2JpbGVVaWF1dG9tYXRvclBhZ2VTb3VyY2UnLFxuXG4gICAgd2ViQXRvbXM6ICdtb2JpbGVXZWJBdG9tcycsXG4gICAgZ2V0Q29udGV4dHM6ICdtb2JpbGVHZXRDb250ZXh0cycsXG5cbiAgICBkaXNtaXNzQXV0b2ZpbGw6ICdtb2JpbGVEaXNtaXNzQXV0b2ZpbGwnLFxuXG4gICAgZ2V0Tm90aWZpY2F0aW9uczogJ21vYmlsZUdldE5vdGlmaWNhdGlvbnMnLFxuXG4gICAgbGlzdFNtczogJ21vYmlsZUxpc3RTbXMnLFxuXG4gICAgc2Vuc29yU2V0OiAnc2Vuc29yU2V0JyxcblxuICAgIHB1c2hGaWxlOiAnbW9iaWxlUHVzaEZpbGUnLFxuICAgIHB1bGxGaWxlOiAnbW9iaWxlUHVsbEZpbGUnLFxuICAgIHB1bGxGb2xkZXI6ICdtb2JpbGVQdWxsRm9sZGVyJyxcbiAgICBkZWxldGVGaWxlOiAnbW9iaWxlRGVsZXRlRmlsZScsXG5cbiAgICBpc0FwcEluc3RhbGxlZDogJ21vYmlsZUlzQXBwSW5zdGFsbGVkJyxcbiAgICBxdWVyeUFwcFN0YXRlOiAnbW9iaWxlUXVlcnlBcHBTdGF0ZScsXG4gICAgYWN0aXZhdGVBcHA6ICdtb2JpbGVBY3RpdmF0ZUFwcCcsXG4gICAgcmVtb3ZlQXBwOiAnbW9iaWxlUmVtb3ZlQXBwJyxcbiAgICB0ZXJtaW5hdGVBcHA6ICdtb2JpbGVUZXJtaW5hdGVBcHAnLFxuICAgIGluc3RhbGxBcHA6ICdtb2JpbGVJbnN0YWxsQXBwJyxcbiAgICBjbGVhckFwcDogJ21vYmlsZUNsZWFyQXBwJyxcblxuICAgIHN0YXJ0QWN0aXZpdHk6ICdtb2JpbGVTdGFydEFjdGl2aXR5JyxcbiAgICBzdGFydFNlcnZpY2U6ICdtb2JpbGVTdGFydFNlcnZpY2UnLFxuICAgIHN0b3BTZXJ2aWNlOiAnbW9iaWxlU3RvcFNlcnZpY2UnLFxuICAgIGJyb2FkY2FzdDogJ21vYmlsZUJyb2FkY2FzdCcsXG5cbiAgICByZWdpc3RlcklkbGluZ1Jlc291cmNlczogJ21vYmlsZVJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzJyxcbiAgICB1bnJlZ2lzdGVySWRsaW5nUmVzb3VyY2VzOiAnbW9iaWxlVW5yZWdpc3RlcklkbGluZ1Jlc291cmNlcycsXG4gICAgbGlzdElkbGluZ1Jlc291cmNlczogJ21vYmlsZUxpc3RJZGxpbmdSZXNvdXJjZXMnLFxuXG4gICAgdW5sb2NrOiAnbW9iaWxlVW5sb2NrJyxcblxuICAgIHJlZnJlc2hHcHNDYWNoZTogJ21vYmlsZVJlZnJlc2hHcHNDYWNoZScsXG5cbiAgICBzdGFydE1lZGlhUHJvamVjdGlvblJlY29yZGluZzogJ21vYmlsZVN0YXJ0TWVkaWFQcm9qZWN0aW9uUmVjb3JkaW5nJyxcbiAgICBpc01lZGlhUHJvamVjdGlvblJlY29yZGluZ1J1bm5pbmc6ICdtb2JpbGVJc01lZGlhUHJvamVjdGlvblJlY29yZGluZ1J1bm5pbmcnLFxuICAgIHN0b3BNZWRpYVByb2plY3Rpb25SZWNvcmRpbmc6ICdtb2JpbGVTdG9wTWVkaWFQcm9qZWN0aW9uUmVjb3JkaW5nJyxcbiAgfTtcblxuICBpZiAoIV8uaGFzKG1vYmlsZUNvbW1hbmRzTWFwcGluZywgbW9iaWxlQ29tbWFuZCkpIHtcbiAgICB0aHJvdyBuZXcgZXJyb3JzLlVua25vd25Db21tYW5kRXJyb3IoYFVua25vd24gbW9iaWxlIGNvbW1hbmQgXCIke21vYmlsZUNvbW1hbmR9XCIuIGAgK1xuICAgICAgYE9ubHkgJHtfLmtleXMobW9iaWxlQ29tbWFuZHNNYXBwaW5nKX0gY29tbWFuZHMgYXJlIHN1cHBvcnRlZC5gKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpc1ttb2JpbGVDb21tYW5kc01hcHBpbmdbbW9iaWxlQ29tbWFuZF1dKG9wdHMpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQSxNQUFNQSxVQUFVLEdBQUcsRUFBbkI7O0FBRUFBLFVBQVUsQ0FBQ0MsYUFBWCxHQUEyQixlQUFlQSxhQUFmLENBQThCQyxhQUE5QixFQUE2Q0MsSUFBSSxHQUFHLEVBQXBELEVBQXdEO0VBQ2pGLE1BQU1DLHFCQUFxQixHQUFHO0lBQzVCQyxLQUFLLEVBQUUsYUFEcUI7SUFHNUJDLHFCQUFxQixFQUFFLDZCQUhLO0lBSzVCQyxtQkFBbUIsRUFBRSwyQkFMTztJQU81QkMsaUJBQWlCLEVBQUUseUJBUFM7SUFRNUJDLGNBQWMsRUFBRSxzQkFSWTtJQVU1QkMsb0JBQW9CLEVBQUUsNEJBVk07SUFXNUJDLG1CQUFtQixFQUFFLDJCQVhPO0lBYTVCQyxLQUFLLEVBQUUsYUFicUI7SUFjNUJDLFlBQVksRUFBRSxvQkFkYztJQWU1QkMsVUFBVSxFQUFFLGtCQWZnQjtJQWdCNUJDLFdBQVcsRUFBRSxtQkFoQmU7SUFrQjVCQyxVQUFVLEVBQUUscUJBbEJnQjtJQW9CNUJDLGNBQWMsRUFBRSxzQkFwQlk7SUFzQjVCQyxVQUFVLEVBQUUsa0JBdEJnQjtJQXVCNUJDLFdBQVcsRUFBRSxtQkF2QmU7SUF5QjVCQyxPQUFPLEVBQUUsZUF6Qm1CO0lBMEI1QkMsT0FBTyxFQUFFLGVBMUJtQjtJQTRCNUJDLGFBQWEsRUFBRSxxQkE1QmE7SUE4QjVCQyxRQUFRLEVBQUUsZ0JBOUJrQjtJQWdDNUJDLFlBQVksRUFBRSxvQkFoQ2M7SUFrQzVCQyxXQUFXLEVBQUUsbUJBbENlO0lBbUM1QkMscUJBQXFCLEVBQUUsNkJBbkNLO0lBcUM1QkMsUUFBUSxFQUFFLGdCQXJDa0I7SUFzQzVCQyxXQUFXLEVBQUUsbUJBdENlO0lBd0M1QkMsZUFBZSxFQUFFLHVCQXhDVztJQTBDNUJDLGdCQUFnQixFQUFFLHdCQTFDVTtJQTRDNUJDLE9BQU8sRUFBRSxlQTVDbUI7SUE4QzVCQyxTQUFTLEVBQUUsV0E5Q2lCO0lBZ0Q1QkMsUUFBUSxFQUFFLGdCQWhEa0I7SUFpRDVCQyxRQUFRLEVBQUUsZ0JBakRrQjtJQWtENUJDLFVBQVUsRUFBRSxrQkFsRGdCO0lBbUQ1QkMsVUFBVSxFQUFFLGtCQW5EZ0I7SUFxRDVCQyxjQUFjLEVBQUUsc0JBckRZO0lBc0Q1QkMsYUFBYSxFQUFFLHFCQXREYTtJQXVENUJDLFdBQVcsRUFBRSxtQkF2RGU7SUF3RDVCQyxTQUFTLEVBQUUsaUJBeERpQjtJQXlENUJDLFlBQVksRUFBRSxvQkF6RGM7SUEwRDVCQyxVQUFVLEVBQUUsa0JBMURnQjtJQTJENUJDLFFBQVEsRUFBRSxnQkEzRGtCO0lBNkQ1QkMsYUFBYSxFQUFFLHFCQTdEYTtJQThENUJDLFlBQVksRUFBRSxvQkE5RGM7SUErRDVCQyxXQUFXLEVBQUUsbUJBL0RlO0lBZ0U1QkMsU0FBUyxFQUFFLGlCQWhFaUI7SUFrRTVCQyx1QkFBdUIsRUFBRSwrQkFsRUc7SUFtRTVCQyx5QkFBeUIsRUFBRSxpQ0FuRUM7SUFvRTVCQyxtQkFBbUIsRUFBRSwyQkFwRU87SUFzRTVCQyxNQUFNLEVBQUUsY0F0RW9CO0lBd0U1QkMsZUFBZSxFQUFFLHVCQXhFVztJQTBFNUJDLDZCQUE2QixFQUFFLHFDQTFFSDtJQTJFNUJDLGlDQUFpQyxFQUFFLHlDQTNFUDtJQTRFNUJDLDRCQUE0QixFQUFFO0VBNUVGLENBQTlCOztFQStFQSxJQUFJLENBQUNDLGVBQUEsQ0FBRUMsR0FBRixDQUFNckQscUJBQU4sRUFBNkJGLGFBQTdCLENBQUwsRUFBa0Q7SUFDaEQsTUFBTSxJQUFJd0QsY0FBQSxDQUFPQyxtQkFBWCxDQUFnQywyQkFBMEJ6RCxhQUFjLEtBQXpDLEdBQ2xDLFFBQU9zRCxlQUFBLENBQUVJLElBQUYsQ0FBT3hELHFCQUFQLENBQThCLDBCQURsQyxDQUFOO0VBRUQ7O0VBQ0QsT0FBTyxNQUFNLEtBQUtBLHFCQUFxQixDQUFDRixhQUFELENBQTFCLEVBQTJDQyxJQUEzQyxDQUFiO0FBQ0QsQ0FyRkQ7O2VBdUZlSCxVIn0=
|
|
Binary file
|
|
@@ -142,6 +142,8 @@ private fun String.toComponentName(): ComponentName = ComponentName.unflattenFro
|
|
|
142
142
|
* keys and values of type string->string, such as {'foo': 'content://contacts/people/1'}
|
|
143
143
|
* - `ecn`: Component name data as key-value pairs stored in a map with
|
|
144
144
|
* keys and values of type string->string, such as {'foo': 'com.example.app/.ExampleActivity'}
|
|
145
|
+
* - `esa`: Array of strings data as key-value pairs stored in a map with
|
|
146
|
+
* keys and values of type string->list, such as {'foo': ['bar1','bar2','bar3','bar4']}
|
|
145
147
|
* - `eia`: Array of integers data as key-value pairs stored in a map with
|
|
146
148
|
* keys and values of type string->string, such as {'foo': '1,2,3,4'}
|
|
147
149
|
* - `ela`: Array of long data as key-value pairs stored in a map with
|
|
@@ -243,6 +245,18 @@ fun makeIntent(context: Context?, options: Map<String, Any?>): Intent {
|
|
|
243
245
|
intent.putExtra(it.key as String, requireBool(it.key as String, it.value))
|
|
244
246
|
}
|
|
245
247
|
},
|
|
248
|
+
"esa" to fun(key, value) {
|
|
249
|
+
requireMap(key, value)
|
|
250
|
+
.filter { it.key is String }
|
|
251
|
+
.forEach { entry ->
|
|
252
|
+
requireList(entry.key as String, entry.value)
|
|
253
|
+
.map {
|
|
254
|
+
it.toString()
|
|
255
|
+
}
|
|
256
|
+
.toTypedArray()
|
|
257
|
+
.let { intent.putExtra(entry.key as String, it) }
|
|
258
|
+
}
|
|
259
|
+
},
|
|
246
260
|
"eia" to fun(key, value) {
|
|
247
261
|
requireMap(key, value)
|
|
248
262
|
.filter { it.key is String }
|
package/espresso-server/app/src/androidTest/java/io/appium/espressoserver/lib/helpers/ViewFinder.kt
CHANGED
|
@@ -53,9 +53,9 @@ import io.appium.espressoserver.lib.handlers.exceptions.InvalidElementStateExcep
|
|
|
53
53
|
import io.appium.espressoserver.lib.model.toJsonMatcher
|
|
54
54
|
import io.appium.espressoserver.lib.viewmatcher.withView
|
|
55
55
|
import io.appium.espressoserver.lib.viewmatcher.withXPath
|
|
56
|
-
import org.hamcrest.
|
|
57
|
-
import org.hamcrest.
|
|
58
|
-
import org.hamcrest.
|
|
56
|
+
import org.hamcrest.Matchers.allOf
|
|
57
|
+
import org.hamcrest.Matchers.equalTo
|
|
58
|
+
import org.hamcrest.Matchers.`is`
|
|
59
59
|
import org.hamcrest.Matchers.endsWith
|
|
60
60
|
import org.hamcrest.Matchers.hasEntry
|
|
61
61
|
import org.hamcrest.Matchers.instanceOf
|
package/espresso-server/app/src/test/java/io/appium/espressoserver/test/model/HamcrestMatcherTest.kt
CHANGED
|
@@ -109,4 +109,13 @@ class HamcrestMatcherTest {
|
|
|
109
109
|
{"args": "Hello World!"}
|
|
110
110
|
""".trimIndent(), HamcrestMatcher::class.java)
|
|
111
111
|
}
|
|
112
|
-
|
|
112
|
+
|
|
113
|
+
@Test
|
|
114
|
+
fun `should parse Hamcrest matcher that have regex as an arg` () {
|
|
115
|
+
val matcher = g.fromJson("""
|
|
116
|
+
{"name": "matchesRegex", "args": "[A-Za-z ]*"}
|
|
117
|
+
""".trimIndent(), HamcrestMatcher::class.java)
|
|
118
|
+
assertTrue(matcher.invoke().matches("Hello World"))
|
|
119
|
+
assertFalse(matcher.invoke().matches("Hello World!"))
|
|
120
|
+
}
|
|
121
|
+
}
|
package/lib/commands/execute.js
CHANGED
|
@@ -52,12 +52,23 @@ extensions.executeMobile = async function executeMobile (mobileCommand, opts = {
|
|
|
52
52
|
|
|
53
53
|
sensorSet: 'sensorSet',
|
|
54
54
|
|
|
55
|
+
pushFile: 'mobilePushFile',
|
|
56
|
+
pullFile: 'mobilePullFile',
|
|
57
|
+
pullFolder: 'mobilePullFolder',
|
|
55
58
|
deleteFile: 'mobileDeleteFile',
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
isAppInstalled: 'mobileIsAppInstalled',
|
|
61
|
+
queryAppState: 'mobileQueryAppState',
|
|
62
|
+
activateApp: 'mobileActivateApp',
|
|
63
|
+
removeApp: 'mobileRemoveApp',
|
|
64
|
+
terminateApp: 'mobileTerminateApp',
|
|
65
|
+
installApp: 'mobileInstallApp',
|
|
66
|
+
clearApp: 'mobileClearApp',
|
|
58
67
|
|
|
68
|
+
startActivity: 'mobileStartActivity',
|
|
59
69
|
startService: 'mobileStartService',
|
|
60
70
|
stopService: 'mobileStopService',
|
|
71
|
+
broadcast: 'mobileBroadcast',
|
|
61
72
|
|
|
62
73
|
registerIdlingResources: 'mobileRegisterIdlingResources',
|
|
63
74
|
unregisterIdlingResources: 'mobileUnregisterIdlingResources',
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-espresso-driver",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-espresso-driver",
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.10.0",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@babel/runtime": "^7.4.3",
|
|
13
13
|
"appium-adb": "^9.10.2",
|
|
14
|
-
"appium-android-driver": "^5.
|
|
14
|
+
"appium-android-driver": "^5.4.0",
|
|
15
15
|
"asyncbox": "^2.3.1",
|
|
16
16
|
"bluebird": "^3.5.0",
|
|
17
17
|
"lodash": "^4.17.11",
|
|
@@ -93,6 +93,17 @@
|
|
|
93
93
|
"npm": ">=8"
|
|
94
94
|
}
|
|
95
95
|
},
|
|
96
|
+
"node_modules/@appium/base-driver/node_modules/@babel/runtime": {
|
|
97
|
+
"version": "7.18.9",
|
|
98
|
+
"extraneous": true,
|
|
99
|
+
"license": "MIT",
|
|
100
|
+
"dependencies": {
|
|
101
|
+
"regenerator-runtime": "^0.13.4"
|
|
102
|
+
},
|
|
103
|
+
"engines": {
|
|
104
|
+
"node": ">=6.9.0"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
96
107
|
"node_modules/@appium/base-plugin": {
|
|
97
108
|
"version": "1.10.2",
|
|
98
109
|
"extraneous": true,
|
|
@@ -123,6 +134,17 @@
|
|
|
123
134
|
"npm": ">=8"
|
|
124
135
|
}
|
|
125
136
|
},
|
|
137
|
+
"node_modules/@appium/docutils/node_modules/@babel/runtime": {
|
|
138
|
+
"version": "7.18.9",
|
|
139
|
+
"extraneous": true,
|
|
140
|
+
"license": "MIT",
|
|
141
|
+
"dependencies": {
|
|
142
|
+
"regenerator-runtime": "^0.13.4"
|
|
143
|
+
},
|
|
144
|
+
"engines": {
|
|
145
|
+
"node": ">=6.9.0"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
126
148
|
"node_modules/@appium/docutils/node_modules/teen_process": {
|
|
127
149
|
"version": "1.16.0",
|
|
128
150
|
"engines": [
|
|
@@ -220,6 +242,16 @@
|
|
|
220
242
|
"npm": ">=8"
|
|
221
243
|
}
|
|
222
244
|
},
|
|
245
|
+
"node_modules/@appium/support/node_modules/@babel/runtime": {
|
|
246
|
+
"version": "7.18.9",
|
|
247
|
+
"license": "MIT",
|
|
248
|
+
"dependencies": {
|
|
249
|
+
"regenerator-runtime": "^0.13.4"
|
|
250
|
+
},
|
|
251
|
+
"engines": {
|
|
252
|
+
"node": ">=6.9.0"
|
|
253
|
+
}
|
|
254
|
+
},
|
|
223
255
|
"node_modules/@appium/support/node_modules/brace-expansion": {
|
|
224
256
|
"version": "2.0.1",
|
|
225
257
|
"license": "MIT",
|
|
@@ -321,6 +353,17 @@
|
|
|
321
353
|
"appium": "^2.0.0-beta.35"
|
|
322
354
|
}
|
|
323
355
|
},
|
|
356
|
+
"node_modules/@appium/test-support/node_modules/@babel/runtime": {
|
|
357
|
+
"version": "7.18.9",
|
|
358
|
+
"extraneous": true,
|
|
359
|
+
"license": "MIT",
|
|
360
|
+
"dependencies": {
|
|
361
|
+
"regenerator-runtime": "^0.13.4"
|
|
362
|
+
},
|
|
363
|
+
"engines": {
|
|
364
|
+
"node": ">=6.9.0"
|
|
365
|
+
}
|
|
366
|
+
},
|
|
324
367
|
"node_modules/@appium/test-support/node_modules/teen_process": {
|
|
325
368
|
"version": "1.16.0",
|
|
326
369
|
"engines": [
|
|
@@ -382,7 +425,7 @@
|
|
|
382
425
|
}
|
|
383
426
|
},
|
|
384
427
|
"node_modules/@babel/parser": {
|
|
385
|
-
"version": "7.
|
|
428
|
+
"version": "7.19.0",
|
|
386
429
|
"extraneous": true,
|
|
387
430
|
"license": "MIT",
|
|
388
431
|
"bin": {
|
|
@@ -393,7 +436,7 @@
|
|
|
393
436
|
}
|
|
394
437
|
},
|
|
395
438
|
"node_modules/@babel/runtime": {
|
|
396
|
-
"version": "7.
|
|
439
|
+
"version": "7.19.0",
|
|
397
440
|
"license": "MIT",
|
|
398
441
|
"dependencies": {
|
|
399
442
|
"regenerator-runtime": "^0.13.4"
|
|
@@ -1039,10 +1082,6 @@
|
|
|
1039
1082
|
"@types/node": "*"
|
|
1040
1083
|
}
|
|
1041
1084
|
},
|
|
1042
|
-
"node_modules/@types/json-buffer": {
|
|
1043
|
-
"version": "3.0.0",
|
|
1044
|
-
"license": "MIT"
|
|
1045
|
-
},
|
|
1046
1085
|
"node_modules/@types/json-schema": {
|
|
1047
1086
|
"version": "7.0.11",
|
|
1048
1087
|
"license": "MIT"
|
|
@@ -1112,7 +1151,7 @@
|
|
|
1112
1151
|
}
|
|
1113
1152
|
},
|
|
1114
1153
|
"node_modules/@types/node": {
|
|
1115
|
-
"version": "18.7.
|
|
1154
|
+
"version": "18.7.15",
|
|
1116
1155
|
"license": "MIT"
|
|
1117
1156
|
},
|
|
1118
1157
|
"node_modules/@types/normalize-package-data": {
|
|
@@ -1352,7 +1391,7 @@
|
|
|
1352
1391
|
}
|
|
1353
1392
|
},
|
|
1354
1393
|
"node_modules/appium-android-driver": {
|
|
1355
|
-
"version": "5.
|
|
1394
|
+
"version": "5.4.0",
|
|
1356
1395
|
"license": "Apache-2.0",
|
|
1357
1396
|
"dependencies": {
|
|
1358
1397
|
"@babel/runtime": "^7.0.0",
|
|
@@ -1967,17 +2006,6 @@
|
|
|
1967
2006
|
"version": "5.0.1",
|
|
1968
2007
|
"license": "MIT"
|
|
1969
2008
|
},
|
|
1970
|
-
"node_modules/compress-brotli": {
|
|
1971
|
-
"version": "1.3.8",
|
|
1972
|
-
"license": "MIT",
|
|
1973
|
-
"dependencies": {
|
|
1974
|
-
"@types/json-buffer": "~3.0.0",
|
|
1975
|
-
"json-buffer": "~3.0.1"
|
|
1976
|
-
},
|
|
1977
|
-
"engines": {
|
|
1978
|
-
"node": ">= 12"
|
|
1979
|
-
}
|
|
1980
|
-
},
|
|
1981
2009
|
"node_modules/compress-commons": {
|
|
1982
2010
|
"version": "4.1.1",
|
|
1983
2011
|
"license": "MIT",
|
|
@@ -2269,7 +2297,7 @@
|
|
|
2269
2297
|
}
|
|
2270
2298
|
},
|
|
2271
2299
|
"node_modules/es-abstract": {
|
|
2272
|
-
"version": "1.20.
|
|
2300
|
+
"version": "1.20.2",
|
|
2273
2301
|
"extraneous": true,
|
|
2274
2302
|
"license": "MIT",
|
|
2275
2303
|
"dependencies": {
|
|
@@ -2277,7 +2305,7 @@
|
|
|
2277
2305
|
"es-to-primitive": "^1.2.1",
|
|
2278
2306
|
"function-bind": "^1.1.1",
|
|
2279
2307
|
"function.prototype.name": "^1.1.5",
|
|
2280
|
-
"get-intrinsic": "^1.1.
|
|
2308
|
+
"get-intrinsic": "^1.1.2",
|
|
2281
2309
|
"get-symbol-description": "^1.0.0",
|
|
2282
2310
|
"has": "^1.0.3",
|
|
2283
2311
|
"has-property-descriptors": "^1.0.0",
|
|
@@ -2289,9 +2317,9 @@
|
|
|
2289
2317
|
"is-shared-array-buffer": "^1.0.2",
|
|
2290
2318
|
"is-string": "^1.0.7",
|
|
2291
2319
|
"is-weakref": "^1.0.2",
|
|
2292
|
-
"object-inspect": "^1.12.
|
|
2320
|
+
"object-inspect": "^1.12.2",
|
|
2293
2321
|
"object-keys": "^1.1.1",
|
|
2294
|
-
"object.assign": "^4.1.
|
|
2322
|
+
"object.assign": "^4.1.4",
|
|
2295
2323
|
"regexp.prototype.flags": "^1.4.3",
|
|
2296
2324
|
"string.prototype.trimend": "^1.0.5",
|
|
2297
2325
|
"string.prototype.trimstart": "^1.0.5",
|
|
@@ -3307,10 +3335,9 @@
|
|
|
3307
3335
|
"license": "MIT"
|
|
3308
3336
|
},
|
|
3309
3337
|
"node_modules/keyv": {
|
|
3310
|
-
"version": "4.
|
|
3338
|
+
"version": "4.5.0",
|
|
3311
3339
|
"license": "MIT",
|
|
3312
3340
|
"dependencies": {
|
|
3313
|
-
"compress-brotli": "^1.3.8",
|
|
3314
3341
|
"json-buffer": "3.0.1"
|
|
3315
3342
|
}
|
|
3316
3343
|
},
|
|
@@ -4993,6 +5020,16 @@
|
|
|
4993
5020
|
"npm": ">=6"
|
|
4994
5021
|
}
|
|
4995
5022
|
},
|
|
5023
|
+
"node_modules/teen_process/node_modules/@babel/runtime": {
|
|
5024
|
+
"version": "7.18.9",
|
|
5025
|
+
"license": "MIT",
|
|
5026
|
+
"dependencies": {
|
|
5027
|
+
"regenerator-runtime": "^0.13.4"
|
|
5028
|
+
},
|
|
5029
|
+
"engines": {
|
|
5030
|
+
"node": ">=6.9.0"
|
|
5031
|
+
}
|
|
5032
|
+
},
|
|
4996
5033
|
"node_modules/text-hex": {
|
|
4997
5034
|
"version": "1.0.0",
|
|
4998
5035
|
"extraneous": true,
|
|
@@ -5509,6 +5546,15 @@
|
|
|
5509
5546
|
"source-map-support": "0.5.21",
|
|
5510
5547
|
"type-fest": "2.18.0",
|
|
5511
5548
|
"validate.js": "0.13.1"
|
|
5549
|
+
},
|
|
5550
|
+
"dependencies": {
|
|
5551
|
+
"@babel/runtime": {
|
|
5552
|
+
"version": "7.18.9",
|
|
5553
|
+
"extraneous": true,
|
|
5554
|
+
"requires": {
|
|
5555
|
+
"regenerator-runtime": "^0.13.4"
|
|
5556
|
+
}
|
|
5557
|
+
}
|
|
5512
5558
|
}
|
|
5513
5559
|
},
|
|
5514
5560
|
"@appium/base-plugin": {
|
|
@@ -5531,6 +5577,13 @@
|
|
|
5531
5577
|
"teen_process": "1.16.0"
|
|
5532
5578
|
},
|
|
5533
5579
|
"dependencies": {
|
|
5580
|
+
"@babel/runtime": {
|
|
5581
|
+
"version": "7.18.9",
|
|
5582
|
+
"extraneous": true,
|
|
5583
|
+
"requires": {
|
|
5584
|
+
"regenerator-runtime": "^0.13.4"
|
|
5585
|
+
}
|
|
5586
|
+
},
|
|
5534
5587
|
"teen_process": {
|
|
5535
5588
|
"version": "1.16.0",
|
|
5536
5589
|
"extraneous": true,
|
|
@@ -5616,6 +5669,12 @@
|
|
|
5616
5669
|
"yauzl": "2.10.0"
|
|
5617
5670
|
},
|
|
5618
5671
|
"dependencies": {
|
|
5672
|
+
"@babel/runtime": {
|
|
5673
|
+
"version": "7.18.9",
|
|
5674
|
+
"requires": {
|
|
5675
|
+
"regenerator-runtime": "^0.13.4"
|
|
5676
|
+
}
|
|
5677
|
+
},
|
|
5619
5678
|
"brace-expansion": {
|
|
5620
5679
|
"version": "2.0.1",
|
|
5621
5680
|
"requires": {
|
|
@@ -5680,6 +5739,13 @@
|
|
|
5680
5739
|
"teen_process": "1.16.0"
|
|
5681
5740
|
},
|
|
5682
5741
|
"dependencies": {
|
|
5742
|
+
"@babel/runtime": {
|
|
5743
|
+
"version": "7.18.9",
|
|
5744
|
+
"extraneous": true,
|
|
5745
|
+
"requires": {
|
|
5746
|
+
"regenerator-runtime": "^0.13.4"
|
|
5747
|
+
}
|
|
5748
|
+
},
|
|
5683
5749
|
"teen_process": {
|
|
5684
5750
|
"version": "1.16.0",
|
|
5685
5751
|
"extraneous": true,
|
|
@@ -5722,11 +5788,11 @@
|
|
|
5722
5788
|
}
|
|
5723
5789
|
},
|
|
5724
5790
|
"@babel/parser": {
|
|
5725
|
-
"version": "7.
|
|
5791
|
+
"version": "7.19.0",
|
|
5726
5792
|
"extraneous": true
|
|
5727
5793
|
},
|
|
5728
5794
|
"@babel/runtime": {
|
|
5729
|
-
"version": "7.
|
|
5795
|
+
"version": "7.19.0",
|
|
5730
5796
|
"requires": {
|
|
5731
5797
|
"regenerator-runtime": "^0.13.4"
|
|
5732
5798
|
}
|
|
@@ -6172,9 +6238,6 @@
|
|
|
6172
6238
|
"@types/node": "*"
|
|
6173
6239
|
}
|
|
6174
6240
|
},
|
|
6175
|
-
"@types/json-buffer": {
|
|
6176
|
-
"version": "3.0.0"
|
|
6177
|
-
},
|
|
6178
6241
|
"@types/json-schema": {
|
|
6179
6242
|
"version": "7.0.11"
|
|
6180
6243
|
},
|
|
@@ -6232,7 +6295,7 @@
|
|
|
6232
6295
|
}
|
|
6233
6296
|
},
|
|
6234
6297
|
"@types/node": {
|
|
6235
|
-
"version": "18.7.
|
|
6298
|
+
"version": "18.7.15"
|
|
6236
6299
|
},
|
|
6237
6300
|
"@types/normalize-package-data": {
|
|
6238
6301
|
"version": "2.4.1"
|
|
@@ -6402,7 +6465,7 @@
|
|
|
6402
6465
|
}
|
|
6403
6466
|
},
|
|
6404
6467
|
"appium-android-driver": {
|
|
6405
|
-
"version": "5.
|
|
6468
|
+
"version": "5.4.0",
|
|
6406
6469
|
"requires": {
|
|
6407
6470
|
"@babel/runtime": "^7.0.0",
|
|
6408
6471
|
"appium-adb": "^9.10.9",
|
|
@@ -6814,13 +6877,6 @@
|
|
|
6814
6877
|
"compare-versions": {
|
|
6815
6878
|
"version": "5.0.1"
|
|
6816
6879
|
},
|
|
6817
|
-
"compress-brotli": {
|
|
6818
|
-
"version": "1.3.8",
|
|
6819
|
-
"requires": {
|
|
6820
|
-
"@types/json-buffer": "~3.0.0",
|
|
6821
|
-
"json-buffer": "~3.0.1"
|
|
6822
|
-
}
|
|
6823
|
-
},
|
|
6824
6880
|
"compress-commons": {
|
|
6825
6881
|
"version": "4.1.1",
|
|
6826
6882
|
"requires": {
|
|
@@ -6990,14 +7046,14 @@
|
|
|
6990
7046
|
}
|
|
6991
7047
|
},
|
|
6992
7048
|
"es-abstract": {
|
|
6993
|
-
"version": "1.20.
|
|
7049
|
+
"version": "1.20.2",
|
|
6994
7050
|
"extraneous": true,
|
|
6995
7051
|
"requires": {
|
|
6996
7052
|
"call-bind": "^1.0.2",
|
|
6997
7053
|
"es-to-primitive": "^1.2.1",
|
|
6998
7054
|
"function-bind": "^1.1.1",
|
|
6999
7055
|
"function.prototype.name": "^1.1.5",
|
|
7000
|
-
"get-intrinsic": "^1.1.
|
|
7056
|
+
"get-intrinsic": "^1.1.2",
|
|
7001
7057
|
"get-symbol-description": "^1.0.0",
|
|
7002
7058
|
"has": "^1.0.3",
|
|
7003
7059
|
"has-property-descriptors": "^1.0.0",
|
|
@@ -7009,9 +7065,9 @@
|
|
|
7009
7065
|
"is-shared-array-buffer": "^1.0.2",
|
|
7010
7066
|
"is-string": "^1.0.7",
|
|
7011
7067
|
"is-weakref": "^1.0.2",
|
|
7012
|
-
"object-inspect": "^1.12.
|
|
7068
|
+
"object-inspect": "^1.12.2",
|
|
7013
7069
|
"object-keys": "^1.1.1",
|
|
7014
|
-
"object.assign": "^4.1.
|
|
7070
|
+
"object.assign": "^4.1.4",
|
|
7015
7071
|
"regexp.prototype.flags": "^1.4.3",
|
|
7016
7072
|
"string.prototype.trimend": "^1.0.5",
|
|
7017
7073
|
"string.prototype.trimstart": "^1.0.5",
|
|
@@ -7649,9 +7705,8 @@
|
|
|
7649
7705
|
"dev": true
|
|
7650
7706
|
},
|
|
7651
7707
|
"keyv": {
|
|
7652
|
-
"version": "4.
|
|
7708
|
+
"version": "4.5.0",
|
|
7653
7709
|
"requires": {
|
|
7654
|
-
"compress-brotli": "^1.3.8",
|
|
7655
7710
|
"json-buffer": "3.0.1"
|
|
7656
7711
|
}
|
|
7657
7712
|
},
|
|
@@ -8770,6 +8825,14 @@
|
|
|
8770
8825
|
"shell-quote": "1.7.3",
|
|
8771
8826
|
"source-map-support": "0.5.21",
|
|
8772
8827
|
"which": "2.0.2"
|
|
8828
|
+
},
|
|
8829
|
+
"dependencies": {
|
|
8830
|
+
"@babel/runtime": {
|
|
8831
|
+
"version": "7.18.9",
|
|
8832
|
+
"requires": {
|
|
8833
|
+
"regenerator-runtime": "^0.13.4"
|
|
8834
|
+
}
|
|
8835
|
+
}
|
|
8773
8836
|
}
|
|
8774
8837
|
},
|
|
8775
8838
|
"text-hex": {
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"automated testing",
|
|
8
8
|
"android"
|
|
9
9
|
],
|
|
10
|
-
"version": "2.
|
|
10
|
+
"version": "2.10.0",
|
|
11
11
|
"author": "Appium Contributors",
|
|
12
12
|
"license": "Apache-2.0",
|
|
13
13
|
"repository": {
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@babel/runtime": "^7.4.3",
|
|
64
64
|
"appium-adb": "^9.10.2",
|
|
65
|
-
"appium-android-driver": "^5.
|
|
65
|
+
"appium-android-driver": "^5.4.0",
|
|
66
66
|
"asyncbox": "^2.3.1",
|
|
67
67
|
"bluebird": "^3.5.0",
|
|
68
68
|
"lodash": "^4.17.11",
|
|
@@ -77,6 +77,7 @@
|
|
|
77
77
|
"build:server": "cd espresso-server && ./gradlew clean assembleAndroidTest || cd ..",
|
|
78
78
|
"dev": "npm run build -- --watch",
|
|
79
79
|
"lint": "eslint .",
|
|
80
|
+
"lint:server": "cd espresso-server && ./gradlew lint || cd ..",
|
|
80
81
|
"lint:fix": "npm run lint -- --fix",
|
|
81
82
|
"precommit-msg": "echo 'Pre-commit checks...' && exit 0",
|
|
82
83
|
"precommit-lint": "lint-staged",
|