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 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,5 @@
1
+ module Fastlane
2
+ module Xcmonkey
3
+ VERSION = "1.3.0"
4
+ end
5
+ 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: []