fastlane-plugin-xcmonkey 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +53 -0
- data/lib/fastlane/plugin/xcmonkey/actions/xcmonkey_action.rb +97 -0
- data/lib/fastlane/plugin/xcmonkey/version.rb +5 -0
- data/lib/fastlane/plugin/xcmonkey.rb +16 -0
- metadata +63 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cec68c4d51e2948ca426f155b392f3ddda807a4952c6816c9f1b31ad9ebbac8d
|
4
|
+
data.tar.gz: 1a0642c25d8fe8d36398f1574ce086f88eeefb2358cba2ebebacfbbb6fdb8d1c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: dff7eb5d2886beec870610150c5ebc2a79814d267274b08df770a193e8c8f1840feebd147eaf058fd79c74248d3543aeffdb07b2c7ae60ffa49b0a09092a4cd8
|
7
|
+
data.tar.gz: 57f5b9276c82eebde15ca11015ac850a26f59f77749ba2ea96aa8a602d922539c9dfcb75a23a373ac85757996feedd4ae4b3de744d6b8f23ddeada4c0a55af09
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2023 Alexey Alter-Pesotskiy
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
<p align="center">
|
2
|
+
<img src="/assets/images/xcmonkey.png"/>
|
3
|
+
</p>
|
4
|
+
|
5
|
+
<p align="center">
|
6
|
+
<a href="https://rubygems.org/gems/xcmonkey"><img src="https://img.shields.io/gem/v/xcmonkey.svg?style=flat" /></a>
|
7
|
+
<a href="https://rubygems.org/gems/fastlane-plugin-xcmonkey"><img src="https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg" /></a>
|
8
|
+
<a href="/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg?style=flat" /></a>
|
9
|
+
</p>
|
10
|
+
|
11
|
+
## Description
|
12
|
+
|
13
|
+
This fastlane plugin is a wrapper for [xcmonkey](https://github.com/alteral/xcmonkey) - a tool for doing stress testing of iOS apps.
|
14
|
+
|
15
|
+
It replicates `xcmonkey test` command.
|
16
|
+
|
17
|
+
| Option | Description | Default |
|
18
|
+
| --- | --- | --- |
|
19
|
+
| `udid` | Set device UDID | |
|
20
|
+
| `bundle_id` | Set target bundle identifier | |
|
21
|
+
| `session_path` | Path where test session should be saved | |
|
22
|
+
| `event_count` | Set events count | `60` |
|
23
|
+
| `exclude_taps` | Exclude taps from gestures list | `false` |
|
24
|
+
| `exclude_swipes` | Exclude swipes from gestures list | `false` |
|
25
|
+
| `exclude_presses` | Exclude presses from gestures list | `false` |
|
26
|
+
| `disable_simulator_keyboard` | Disable simulator keyboard | `false` |
|
27
|
+
| `ignore_crashes` | Ignore app crashes | `false` |
|
28
|
+
| `throttle` | Fixed delay between events in milliseconds | `0` |
|
29
|
+
|
30
|
+
## Prerequisites
|
31
|
+
|
32
|
+
```bash
|
33
|
+
brew install facebook/fb/idb-companion
|
34
|
+
pip3.6 install fb-idb
|
35
|
+
```
|
36
|
+
|
37
|
+
## Getting Started
|
38
|
+
|
39
|
+
To get started with `xcmonkey`, add it to your project by running:
|
40
|
+
|
41
|
+
```bash
|
42
|
+
fastlane add_plugin xcmonkey
|
43
|
+
```
|
44
|
+
|
45
|
+
## Usage
|
46
|
+
|
47
|
+
```ruby
|
48
|
+
xcmonkey(
|
49
|
+
event_count: 100,
|
50
|
+
bundle_id: 'com.apple.Maps',
|
51
|
+
udid: '413EA256-CFFB-4312-94A6-12592BEE4CBA'
|
52
|
+
)
|
53
|
+
```
|
@@ -0,0 +1,97 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class XcmonkeyAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
Actions.verify_gem!('xcmonkey')
|
6
|
+
|
7
|
+
require 'xcmonkey'
|
8
|
+
|
9
|
+
options = {}
|
10
|
+
params.all_keys.each { |k| options[k] = params[k] }
|
11
|
+
|
12
|
+
::Xcmonkey.new(options).run
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.description
|
16
|
+
'xcmonkey is a tool for doing randomised UI testing of iOS apps'
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.authors
|
20
|
+
['Alexey Alter-Pesotskiy']
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.available_options
|
24
|
+
[
|
25
|
+
FastlaneCore::ConfigItem.new(
|
26
|
+
key: :udid,
|
27
|
+
description: 'Set device UDID',
|
28
|
+
optional: false
|
29
|
+
),
|
30
|
+
FastlaneCore::ConfigItem.new(
|
31
|
+
key: :bundle_id,
|
32
|
+
description: 'Set target bundle identifier',
|
33
|
+
optional: false
|
34
|
+
),
|
35
|
+
FastlaneCore::ConfigItem.new(
|
36
|
+
key: :session_path,
|
37
|
+
description: 'Path where test session should be saved',
|
38
|
+
optional: true
|
39
|
+
),
|
40
|
+
FastlaneCore::ConfigItem.new(
|
41
|
+
key: :event_count,
|
42
|
+
description: 'Set events count',
|
43
|
+
optional: true,
|
44
|
+
is_string: false,
|
45
|
+
default_value: 60
|
46
|
+
),
|
47
|
+
FastlaneCore::ConfigItem.new(
|
48
|
+
key: :exclude_taps,
|
49
|
+
description: 'Exclude taps from gestures list',
|
50
|
+
optional: true,
|
51
|
+
is_string: false,
|
52
|
+
default_value: false
|
53
|
+
),
|
54
|
+
FastlaneCore::ConfigItem.new(
|
55
|
+
key: :exclude_swipes,
|
56
|
+
description: 'Exclude swipes from gestures list',
|
57
|
+
optional: true,
|
58
|
+
is_string: false,
|
59
|
+
default_value: false
|
60
|
+
),
|
61
|
+
FastlaneCore::ConfigItem.new(
|
62
|
+
key: :exclude_presses,
|
63
|
+
description: 'Exclude presses from gestures list',
|
64
|
+
optional: true,
|
65
|
+
is_string: false,
|
66
|
+
default_value: false
|
67
|
+
),
|
68
|
+
FastlaneCore::ConfigItem.new(
|
69
|
+
key: :disable_simulator_keyboard,
|
70
|
+
description: 'Disable simulator keyboard',
|
71
|
+
optional: true,
|
72
|
+
is_string: false,
|
73
|
+
default_value: false
|
74
|
+
),
|
75
|
+
FastlaneCore::ConfigItem.new(
|
76
|
+
key: :ignore_crashes,
|
77
|
+
description: 'Ignore app crashes',
|
78
|
+
optional: true,
|
79
|
+
is_string: false,
|
80
|
+
default_value: false
|
81
|
+
),
|
82
|
+
FastlaneCore::ConfigItem.new(
|
83
|
+
key: :throttle,
|
84
|
+
description: 'Fixed delay between events in milliseconds',
|
85
|
+
optional: true,
|
86
|
+
is_string: false,
|
87
|
+
default_value: 0
|
88
|
+
)
|
89
|
+
]
|
90
|
+
end
|
91
|
+
|
92
|
+
def self.is_supported?(platform)
|
93
|
+
[:ios].include?(platform)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'fastlane/plugin/xcmonkey/version'
|
2
|
+
|
3
|
+
module Fastlane
|
4
|
+
module Xcmonkey
|
5
|
+
# Return all .rb files inside the "actions" directory
|
6
|
+
def self.all_classes
|
7
|
+
Dir[File.expand_path('**/{actions}/*.rb', File.dirname(__FILE__))]
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
# By default we want to import all available actions and helpers
|
13
|
+
# A plugin can contain any number of actions and plugins
|
14
|
+
Fastlane::Xcmonkey.all_classes.each do |current|
|
15
|
+
require current
|
16
|
+
end
|
metadata
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fastlane-plugin-xcmonkey
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.3.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alexey Alter-Pesotskiy
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-02-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: xcmonkey
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.3.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.3.0
|
27
|
+
description:
|
28
|
+
email: a.alterpesotskiy@mail.ru
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- LICENSE
|
34
|
+
- README.md
|
35
|
+
- lib/fastlane/plugin/xcmonkey.rb
|
36
|
+
- lib/fastlane/plugin/xcmonkey/actions/xcmonkey_action.rb
|
37
|
+
- lib/fastlane/plugin/xcmonkey/version.rb
|
38
|
+
homepage: https://github.com/alteral/fastlane-plugin-xcmonkey
|
39
|
+
licenses:
|
40
|
+
- MIT
|
41
|
+
metadata:
|
42
|
+
allowed_push_host: https://rubygems.org
|
43
|
+
rubygems_mfa_required: 'true'
|
44
|
+
post_install_message:
|
45
|
+
rdoc_options: []
|
46
|
+
require_paths:
|
47
|
+
- lib
|
48
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '2.4'
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
requirements: []
|
59
|
+
rubygems_version: 3.3.7
|
60
|
+
signing_key:
|
61
|
+
specification_version: 4
|
62
|
+
summary: xcmonkey is a tool for doing randomised UI testing of iOS apps
|
63
|
+
test_files: []
|