app_prism 0.0.10 → 0.1.2
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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +62 -0
- data/.reek.yml +39 -0
- data/.rubocop.yml +166 -0
- data/.ruby-version +1 -0
- data/Gemfile.lock +86 -0
- data/LICENSE.txt +1 -1
- data/README.md +64 -8
- data/app_prism.gemspec +7 -3
- data/exe/app_prism +0 -0
- data/lib/app_prism.rb +2 -2
- data/lib/app_prism/screen_factory.rb +1 -1
- data/lib/app_prism/version.rb +2 -2
- metadata +68 -9
- data/.travis.yml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbc07056fa8b243c870129b1ca1a2dd71d0553164201109da9516e09557be520
|
4
|
+
data.tar.gz: d8ea6545b6e013187cd24d9cc3e043a228699521f600efb959b963736732b627
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4842cff7e7f6cb99ba0499b28fb825200e1b58e4bdafdc167bcaf8b1c7baa8a22f54629e73bdf7eb095001f058a4008a7742c31731b14f288362af7be8589b9
|
7
|
+
data.tar.gz: f26422d4596c7698148fa95bcae0fca214c2104b53fd218a93f856420e1a7496ca763dcb1873124ff694ebdd86963e18f669f1f137c98656c0604da1672f1e07
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# Ruby CircleCI 2.0 configuration file
|
2
|
+
#
|
3
|
+
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
4
|
+
#
|
5
|
+
version: 2
|
6
|
+
jobs:
|
7
|
+
build:
|
8
|
+
docker:
|
9
|
+
# specify the version you desire here
|
10
|
+
- image: circleci/ruby:2.6.1-node
|
11
|
+
# environment:
|
12
|
+
# BUNDLER_VERSION: 2.0.1
|
13
|
+
|
14
|
+
working_directory: ~/repo
|
15
|
+
|
16
|
+
steps:
|
17
|
+
- checkout
|
18
|
+
|
19
|
+
# Download and cache dependencies
|
20
|
+
- restore_cache:
|
21
|
+
keys:
|
22
|
+
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
23
|
+
# fallback to using the latest cache if no exact match is found
|
24
|
+
- v1-dependencies-
|
25
|
+
|
26
|
+
- run:
|
27
|
+
name: install dependencies
|
28
|
+
command: |
|
29
|
+
gem install bundler
|
30
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
31
|
+
|
32
|
+
- save_cache:
|
33
|
+
paths:
|
34
|
+
- ./vendor/bundle
|
35
|
+
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
36
|
+
|
37
|
+
- run:
|
38
|
+
name: Creating artifacts folder
|
39
|
+
command: mkdir -p /tmp/test-results
|
40
|
+
- run:
|
41
|
+
name: Run Rubocop
|
42
|
+
command: bundle exec rubocop --fail-level E --format html --out /tmp/test-results/rubocop.html
|
43
|
+
|
44
|
+
- run:
|
45
|
+
name: Run Reek
|
46
|
+
command: bundle exec reek lib/
|
47
|
+
|
48
|
+
- run:
|
49
|
+
name: Run rspec in parallel
|
50
|
+
command: |
|
51
|
+
bundle exec rspec --profile 10 \
|
52
|
+
--format RspecJunitFormatter \
|
53
|
+
--out /tmp/test_results/rspec.xml \
|
54
|
+
--format progress \
|
55
|
+
$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
|
56
|
+
|
57
|
+
# Collecting reports
|
58
|
+
- store_test_results:
|
59
|
+
path: /tmp/test-results
|
60
|
+
- store_artifacts:
|
61
|
+
path: /tmp/test-results
|
62
|
+
destination: test-results
|
data/.reek.yml
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
detectors:
|
2
|
+
IrresponsibleModule:
|
3
|
+
enabled: false
|
4
|
+
NestedIterators:
|
5
|
+
enabled: false
|
6
|
+
DuplicateMethodCall:
|
7
|
+
max_calls: 2
|
8
|
+
exclude:
|
9
|
+
- AppPrism::Finders#element
|
10
|
+
- AppPrism::Platforms::AppiumPlatform#swipe_down
|
11
|
+
- AppPrism::Platforms::AppiumPlatform#swipe_up
|
12
|
+
TooManyInstanceVariables:
|
13
|
+
max_instance_variables: 5
|
14
|
+
TooManyStatements:
|
15
|
+
max_statements: 10
|
16
|
+
NilCheck:
|
17
|
+
exclude:
|
18
|
+
- AppPrism::Elements::Element#visible?
|
19
|
+
ManualDispatch:
|
20
|
+
exclude:
|
21
|
+
- AppPrism::Finders#expected_element
|
22
|
+
UtilityFunction:
|
23
|
+
exclude:
|
24
|
+
- AppPrism::HelperMethods#android
|
25
|
+
- AppPrism::HelperMethods#ios?
|
26
|
+
- AppPrism::ScreenFactory#class_from_string
|
27
|
+
FeatureEnvy:
|
28
|
+
exclude:
|
29
|
+
- AppPrism::Platforms::AppiumPlatform#swipe_down
|
30
|
+
- AppPrism::Platforms::AppiumPlatform#swipe_up
|
31
|
+
InstanceVariableAssumption:
|
32
|
+
exclude:
|
33
|
+
- AppPrism::Platforms::AppiumPlatform
|
34
|
+
SubclassedFromCoreClass:
|
35
|
+
exclude:
|
36
|
+
- AppPrism::Sections::SectionsCollection #rework later, this might be really not good
|
37
|
+
ModuleInitialize:
|
38
|
+
exclude:
|
39
|
+
- AppPrism
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,166 @@
|
|
1
|
+
#AllCops:
|
2
|
+
# Exclude:
|
3
|
+
# - 'vendor/bundle/**/*'
|
4
|
+
# - 'features/support/fixtures/*'
|
5
|
+
|
6
|
+
Bundler/DuplicatedGem:
|
7
|
+
Enabled: true
|
8
|
+
|
9
|
+
Bundler/OrderedGems:
|
10
|
+
TreatCommentsAsGroupSeparators: true
|
11
|
+
|
12
|
+
Layout/AccessModifierIndentation:
|
13
|
+
EnforcedStyle: indent
|
14
|
+
|
15
|
+
Layout/AlignParameters:
|
16
|
+
EnforcedStyle: with_fixed_indentation
|
17
|
+
|
18
|
+
Layout/BlockEndNewline:
|
19
|
+
Enabled: true
|
20
|
+
|
21
|
+
Layout/CaseIndentation:
|
22
|
+
EnforcedStyle: end
|
23
|
+
IndentOneStep: false
|
24
|
+
|
25
|
+
Layout/ClosingParenthesisIndentation:
|
26
|
+
Enabled: true
|
27
|
+
|
28
|
+
Layout/CommentIndentation:
|
29
|
+
Enabled: true
|
30
|
+
|
31
|
+
Layout/DotPosition:
|
32
|
+
EnforcedStyle: leading
|
33
|
+
|
34
|
+
Layout/EmptyLineBetweenDefs:
|
35
|
+
AllowAdjacentOneLineDefs: false
|
36
|
+
|
37
|
+
Layout/EmptyLines:
|
38
|
+
Enabled: true
|
39
|
+
|
40
|
+
Layout/EmptyLinesAroundAccessModifier:
|
41
|
+
Enabled: true
|
42
|
+
|
43
|
+
Layout/EmptyLinesAroundClassBody:
|
44
|
+
EnforcedStyle: no_empty_lines
|
45
|
+
|
46
|
+
Layout/EmptyLinesAroundExceptionHandlingKeywords:
|
47
|
+
Enabled: true
|
48
|
+
|
49
|
+
Layout/EmptyLinesAroundMethodBody:
|
50
|
+
Enabled: true
|
51
|
+
|
52
|
+
Layout/EmptyLinesAroundModuleBody:
|
53
|
+
EnforcedStyle: no_empty_lines
|
54
|
+
|
55
|
+
Layout/EndOfLine:
|
56
|
+
Enabled: true
|
57
|
+
|
58
|
+
Layout/ExtraSpacing:
|
59
|
+
AllowForAlignment: true
|
60
|
+
ForceEqualSignAlignment: false
|
61
|
+
Exclude:
|
62
|
+
- 'db/schema.rb'
|
63
|
+
|
64
|
+
Layout/FirstParameterIndentation:
|
65
|
+
EnforcedStyle: special_for_inner_method_call_in_parentheses
|
66
|
+
|
67
|
+
Layout/LeadingCommentSpace:
|
68
|
+
Enabled: true
|
69
|
+
|
70
|
+
Layout/SpaceAroundBlockParameters:
|
71
|
+
EnforcedStyleInsidePipes: no_space
|
72
|
+
|
73
|
+
Layout/SpaceAroundEqualsInParameterDefault:
|
74
|
+
EnforcedStyle: space
|
75
|
+
|
76
|
+
Layout/SpaceBeforeBlockBraces:
|
77
|
+
EnforcedStyle: space
|
78
|
+
|
79
|
+
Layout/SpaceInsideBlockBraces:
|
80
|
+
EnforcedStyle: space
|
81
|
+
EnforcedStyleForEmptyBraces: space
|
82
|
+
|
83
|
+
Layout/SpaceInsideHashLiteralBraces:
|
84
|
+
EnforcedStyle: no_space
|
85
|
+
EnforcedStyleForEmptyBraces: no_space
|
86
|
+
|
87
|
+
Layout/Tab:
|
88
|
+
Enabled: true
|
89
|
+
|
90
|
+
Layout/TrailingBlankLines:
|
91
|
+
EnforcedStyle: final_newline
|
92
|
+
|
93
|
+
Layout/TrailingWhitespace:
|
94
|
+
Enabled: true
|
95
|
+
|
96
|
+
Layout/EndAlignment:
|
97
|
+
EnforcedStyleAlignWith: variable
|
98
|
+
|
99
|
+
Metrics/AbcSize:
|
100
|
+
Max: 18
|
101
|
+
|
102
|
+
MethodLength:
|
103
|
+
Max: 10
|
104
|
+
Exclude:
|
105
|
+
- "spec/**/*"
|
106
|
+
|
107
|
+
Metrics/LineLength:
|
108
|
+
Max: 105
|
109
|
+
Exclude:
|
110
|
+
- 'Gemfile'
|
111
|
+
|
112
|
+
ModuleLength:
|
113
|
+
Max: 100
|
114
|
+
Exclude:
|
115
|
+
- "spec/**/*"
|
116
|
+
|
117
|
+
Rails:
|
118
|
+
Enabled: true
|
119
|
+
|
120
|
+
Rails/Date:
|
121
|
+
EnforcedStyle: flexible
|
122
|
+
Enabled: false
|
123
|
+
|
124
|
+
Rails/TimeZone:
|
125
|
+
EnforcedStyle: flexible
|
126
|
+
|
127
|
+
Style/BlockDelimiters:
|
128
|
+
EnforcedStyle: line_count_based
|
129
|
+
|
130
|
+
Style/BracesAroundHashParameters:
|
131
|
+
EnforcedStyle: context_dependent
|
132
|
+
|
133
|
+
Style/CollectionMethods:
|
134
|
+
Enabled: true
|
135
|
+
PreferredMethods:
|
136
|
+
collect: 'map'
|
137
|
+
collect!: 'map!'
|
138
|
+
inject: 'reduce'
|
139
|
+
detect: 'find'
|
140
|
+
find_all: 'select'
|
141
|
+
|
142
|
+
Style/ClassAndModuleChildren:
|
143
|
+
EnforcedStyle: compact
|
144
|
+
|
145
|
+
Style/Documentation:
|
146
|
+
Enabled: false
|
147
|
+
|
148
|
+
Style/FrozenStringLiteralComment:
|
149
|
+
Enabled: false
|
150
|
+
|
151
|
+
Style/HashSyntax:
|
152
|
+
EnforcedStyle: ruby19_no_mixed_keys
|
153
|
+
|
154
|
+
Style/MethodDefParentheses:
|
155
|
+
EnforcedStyle: require_parentheses
|
156
|
+
|
157
|
+
Style/RedundantReturn:
|
158
|
+
AllowMultipleReturnValues: false
|
159
|
+
|
160
|
+
Style/StringLiterals:
|
161
|
+
EnforcedStyle: single_quotes
|
162
|
+
ConsistentQuotesInMultiline: true
|
163
|
+
|
164
|
+
#Lint/UnusedBlockArgument:
|
165
|
+
# Exclude:
|
166
|
+
# - 'features/step_definitions/**/*'
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.3
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
app_prism (0.1.1)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
ast (2.4.0)
|
10
|
+
axiom-types (0.1.1)
|
11
|
+
descendants_tracker (~> 0.0.4)
|
12
|
+
ice_nine (~> 0.11.0)
|
13
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
14
|
+
codeclimate-engine-rb (0.4.1)
|
15
|
+
virtus (~> 1.0)
|
16
|
+
coercible (1.0.0)
|
17
|
+
descendants_tracker (~> 0.0.1)
|
18
|
+
descendants_tracker (0.0.4)
|
19
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
20
|
+
diff-lcs (1.3)
|
21
|
+
equalizer (0.0.11)
|
22
|
+
ice_nine (0.11.2)
|
23
|
+
jaro_winkler (1.5.2)
|
24
|
+
kwalify (0.7.2)
|
25
|
+
parallel (1.13.0)
|
26
|
+
parser (2.6.0.0)
|
27
|
+
ast (~> 2.4.0)
|
28
|
+
powerpack (0.1.2)
|
29
|
+
psych (3.1.0)
|
30
|
+
rainbow (3.0.0)
|
31
|
+
rake (10.5.0)
|
32
|
+
reek (5.4.0)
|
33
|
+
codeclimate-engine-rb (~> 0.4.0)
|
34
|
+
kwalify (~> 0.7.0)
|
35
|
+
parser (>= 2.5.0.0, < 2.7, != 2.5.1.1)
|
36
|
+
psych (~> 3.1.0)
|
37
|
+
rainbow (>= 2.0, < 4.0)
|
38
|
+
rspec (3.8.0)
|
39
|
+
rspec-core (~> 3.8.0)
|
40
|
+
rspec-expectations (~> 3.8.0)
|
41
|
+
rspec-mocks (~> 3.8.0)
|
42
|
+
rspec-core (3.8.0)
|
43
|
+
rspec-support (~> 3.8.0)
|
44
|
+
rspec-expectations (3.8.3)
|
45
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
46
|
+
rspec-support (~> 3.8.0)
|
47
|
+
rspec-mocks (3.8.0)
|
48
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
49
|
+
rspec-support (~> 3.8.0)
|
50
|
+
rspec-support (3.8.0)
|
51
|
+
rspec_junit_formatter (0.4.1)
|
52
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
53
|
+
rubocop (0.63.1)
|
54
|
+
jaro_winkler (~> 1.5.1)
|
55
|
+
parallel (~> 1.10)
|
56
|
+
parser (>= 2.5, != 2.5.1.1)
|
57
|
+
powerpack (~> 0.1)
|
58
|
+
rainbow (>= 2.2.2, < 4.0)
|
59
|
+
ruby-progressbar (~> 1.7)
|
60
|
+
unicode-display_width (~> 1.4.0)
|
61
|
+
rubocop-rspec (1.33.0)
|
62
|
+
rubocop (>= 0.60.0)
|
63
|
+
ruby-progressbar (1.10.0)
|
64
|
+
thread_safe (0.3.6)
|
65
|
+
unicode-display_width (1.4.1)
|
66
|
+
virtus (1.0.5)
|
67
|
+
axiom-types (~> 0.1)
|
68
|
+
coercible (~> 1.0)
|
69
|
+
descendants_tracker (~> 0.0, >= 0.0.3)
|
70
|
+
equalizer (~> 0.0, >= 0.0.9)
|
71
|
+
|
72
|
+
PLATFORMS
|
73
|
+
ruby
|
74
|
+
|
75
|
+
DEPENDENCIES
|
76
|
+
app_prism!
|
77
|
+
bundler (~> 2.0.1)
|
78
|
+
rake (~> 10.0)
|
79
|
+
reek
|
80
|
+
rspec (~> 3.0)
|
81
|
+
rspec_junit_formatter
|
82
|
+
rubocop
|
83
|
+
rubocop-rspec
|
84
|
+
|
85
|
+
BUNDLED WITH
|
86
|
+
2.0.1
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2019 Denys Bazarnyi
|
3
|
+
Copyright (c) 2019 Denys Bazarnyi, Dmitriy Konovalov
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# AppPrsim
|
2
2
|
|
3
|
-
|
3
|
+
[](https://circleci.com/gh/bazarnyi/app_prism)
|
4
4
|
|
5
|
-
|
5
|
+
_A Multi-platform Page Object Model DSL for Appium_
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -14,7 +14,7 @@ gem 'app_prism'
|
|
14
14
|
|
15
15
|
And then execute:
|
16
16
|
|
17
|
-
$ bundle
|
17
|
+
$ bundle install
|
18
18
|
|
19
19
|
Or install it yourself as:
|
20
20
|
|
@@ -22,17 +22,73 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
|
25
|
+
Here's an overview of how SitePrism is designed to be used:
|
26
26
|
|
27
|
-
|
27
|
+
```ruby
|
28
|
+
# define your app screens
|
29
|
+
|
30
|
+
class BaseScreen
|
31
|
+
include AppPrism
|
32
|
+
|
33
|
+
element :app_icon, android: { id: 'ViewActivityIntro_AppLogo' },
|
34
|
+
ios: { xpath: '//XCUIElementTypeIcon[@name="some name here"]' }
|
35
|
+
|
36
|
+
element :notification, android: { accessibility_id: 'NotificationShortLookView' },
|
37
|
+
ios: { accessibility_id: 'NotificationShortLookView' }
|
38
|
+
|
39
|
+
element :toolbar_done, android: { xpath: '//android.widget.LinearLayout[@content-desc="ViewActivityIntro_Toolbar"]/android.widget.TextView' },
|
40
|
+
ios: { xpath: '//XCUIElementTypeToolbar[@name="Toolbar"]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeButton[@name="DONE" or @name="Done"]' }
|
41
|
+
|
42
|
+
def wheelpicker
|
43
|
+
@driver.find_elements(:class_name, 'XCUIElementTypePickerWheel').first
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
class LogInScreen < BaseScreen
|
48
|
+
element :log_in_button, android: { id: 'ButtonRoundCorner_CustomImageView_Icon' },
|
49
|
+
ios: { accessibility_id: 'LOG IN' }
|
50
|
+
end
|
28
51
|
|
29
|
-
|
52
|
+
# define sections used on multiple screens or multiple times on one screen
|
30
53
|
|
31
|
-
|
54
|
+
class ScreenDialog < AppPrism::Sections::ScreenSection
|
55
|
+
element :title, android: { id: 'title' },
|
56
|
+
ios: { xpath: '//XCUIElementTypeStaticText[@name="Skip account"]' }
|
57
|
+
|
58
|
+
element :yes, android: { id: 'FragmentTwoButtonAlertDialog_Button_Positive' },
|
59
|
+
ios: { accessibility_id: 'Yes' }
|
60
|
+
|
61
|
+
element :no, android: { id: 'FragmentTwoButtonAlertDialog_Button_Negative' },
|
62
|
+
ios: { accessibility_id: 'No' }
|
63
|
+
end
|
64
|
+
|
65
|
+
# Basic usage in tests are very similar to usage of Site Prism gem for Web UI test automation
|
66
|
+
# the only difference is that page factory approach is used to better manage screens interractions
|
67
|
+
|
68
|
+
Given(/^I launch the app$/) do
|
69
|
+
if ios?
|
70
|
+
accept_ios_notification
|
71
|
+
else
|
72
|
+
wait_while_app_is_loading
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
Given(/^I swipe demo screens to the Sign in form$/) do
|
77
|
+
wait_for_activity_to_load 'IntroductionActivity' if android?
|
78
|
+
wait_for_element 'view pager', 'welcome'
|
79
|
+
6.times do
|
80
|
+
swipe 'left'
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
Then(/^I see relevant skip sign in notification dialog$/) do
|
85
|
+
expect(on(WelcomeScreen).screen_dialog.title_element.text).to include 'some text'
|
86
|
+
end
|
87
|
+
```
|
32
88
|
|
33
89
|
## Contributing
|
34
90
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
91
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/bazarnyi/app_prism. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
36
92
|
|
37
93
|
## License
|
38
94
|
|
data/app_prism.gemspec
CHANGED
@@ -6,8 +6,8 @@ require "app_prism/version"
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "app_prism"
|
8
8
|
spec.version = AppPrism::VERSION
|
9
|
-
spec.authors = ["Denys Bazarnyi"]
|
10
|
-
spec.email = ["den.bazarny@gmail.com"]
|
9
|
+
spec.authors = ["Denys Bazarnyi, Dmitriy Konovalov"]
|
10
|
+
spec.email = ["den.bazarny@gmail.com, d.konovalov.39@gmail.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{Write a short summary, because RubyGems requires one.}
|
13
13
|
spec.description = %q{Write a longer description or delete this line.}
|
@@ -36,7 +36,11 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
37
37
|
spec.require_paths = ["lib"]
|
38
38
|
|
39
|
-
spec.add_development_dependency "bundler", "~> 1
|
39
|
+
spec.add_development_dependency "bundler", "~> 2.0.1"
|
40
40
|
spec.add_development_dependency "rake", "~> 10.0"
|
41
41
|
spec.add_development_dependency "rspec", "~> 3.0"
|
42
|
+
spec.add_development_dependency "rspec_junit_formatter"
|
43
|
+
spec.add_development_dependency "rubocop"
|
44
|
+
spec.add_development_dependency "rubocop-rspec"
|
45
|
+
spec.add_development_dependency "reek"
|
42
46
|
end
|
data/exe/app_prism
CHANGED
File without changes
|
data/lib/app_prism.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require "app_prism/version"
|
2
2
|
|
3
3
|
module AppPrism
|
4
|
-
# require_relative 'app_prism/er_methods'
|
5
|
-
# require_relative 'app_prism/ers'
|
6
4
|
require_relative 'app_prism/sections/section_finders'
|
7
5
|
require_relative 'app_prism/sections/screen_section'
|
8
6
|
require_relative 'app_prism/sections/sections_collection'
|
7
|
+
require_relative 'app_prism/platforms/platform'
|
8
|
+
require_relative 'app_prism/platforms/appium_platform'
|
9
9
|
require_relative 'app_prism/helper_methods'
|
10
10
|
require_relative 'app_prism/screen_factory'
|
11
11
|
|
data/lib/app_prism/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module AppPrism
|
2
|
-
VERSION = "0.
|
3
|
-
end
|
2
|
+
VERSION = "0.1.2"
|
3
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: app_prism
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Denys Bazarnyi
|
7
|
+
- Denys Bazarnyi, Dmitriy Konovalov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.0.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.0.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,19 +52,79 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec_junit_formatter
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop-rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: reek
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
55
111
|
description: Write a longer description or delete this line.
|
56
112
|
email:
|
57
|
-
- den.bazarny@gmail.com
|
113
|
+
- den.bazarny@gmail.com, d.konovalov.39@gmail.com
|
58
114
|
executables:
|
59
115
|
- app_prism
|
60
116
|
extensions: []
|
61
117
|
extra_rdoc_files: []
|
62
118
|
files:
|
119
|
+
- ".circleci/config.yml"
|
63
120
|
- ".gitignore"
|
121
|
+
- ".reek.yml"
|
64
122
|
- ".rspec"
|
65
|
-
- ".
|
123
|
+
- ".rubocop.yml"
|
124
|
+
- ".ruby-version"
|
66
125
|
- CODE_OF_CONDUCT.md
|
67
126
|
- Gemfile
|
127
|
+
- Gemfile.lock
|
68
128
|
- LICENSE.txt
|
69
129
|
- README.md
|
70
130
|
- Rakefile
|
@@ -105,8 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
165
|
- !ruby/object:Gem::Version
|
106
166
|
version: '0'
|
107
167
|
requirements: []
|
108
|
-
|
109
|
-
rubygems_version: 2.7.8
|
168
|
+
rubygems_version: 3.0.3
|
110
169
|
signing_key:
|
111
170
|
specification_version: 4
|
112
171
|
summary: Write a short summary, because RubyGems requires one.
|