appium_lib 16.3.1 → 16.4.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/appium_lib.gemspec +9 -9
- data/lib/appium_lib/android/common/helper.rb +5 -3
- data/lib/appium_lib/driver.rb +1 -1
- data/lib/appium_lib/version.rb +2 -2
- data/readme.md +1 -1
- metadata +10 -18
- data/.gitignore +0 -4
- data/.rubocop.yml +0 -299
- data/Gemfile +0 -24
- data/Rakefile +0 -31
- data/contributing.md +0 -35
- data/docs/android_uiautomator.md +0 -17
- data/docs/docs.md +0 -130
- data/docs/ios_xcuitest.md +0 -114
- data/docs/parallel.md +0 -8
- data/docs/w3c.md +0 -55
- data/release_notes.md +0 -2279
- data/test/first_test.rb +0 -29
- data/test/regression_test.rb +0 -132
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 737cac2a7befc3590331dca750b538fa83574b34a1e3120d13b16abc46fdbbba
|
|
4
|
+
data.tar.gz: 6e98a1456c2ce0eadf278a27472a78ce7975a28b962fdf8fe152c75721563789
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 32bb9c6dbfd35f25836f194e07b1f93314027747035754a8fe39fe06a717e1f76bb7d84ef4a24e7ea3a5534a05f892d9f8c15e0513c771f015eceadabe36cc3e
|
|
7
|
+
data.tar.gz: bb57e7f98300da2da9bd53a26e83439a4df63abc1d7d80f1dea66942b14d428d7f30c40ae400aa533decc4962232c62e32764a6230be9f216f576cf1d2c782d4
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@ New entries are maintained by Release Please.
|
|
|
4
4
|
|
|
5
5
|
Release tags are https://github.com/appium/ruby_lib/releases .
|
|
6
6
|
|
|
7
|
+
## [16.4.0](https://github.com/appium/ruby_lib/compare/v16.3.2...v16.4.0) (2026-10-26)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* include view-tag attribute in Android page inspection ([#1138](https://github.com/appium/ruby_lib/issues/1138)) ([0041940](https://github.com/appium/ruby_lib/commit/0041940f3588285ac10b7bdd95c227e4a559ce5f))
|
|
13
|
+
|
|
14
|
+
## [16.3.2](https://github.com/appium/ruby_lib/compare/v16.3.1...v16.3.2) (2026-09-14)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* metadata in gems ([d727297](https://github.com/appium/ruby_lib/commit/d727297b4fff4e98287058b0ea26c093a0aab334))
|
|
20
|
+
|
|
7
21
|
## [16.3.1](https://github.com/appium/ruby_lib/compare/v16.3.0...v16.3.1) (2026-09-13)
|
|
8
22
|
|
|
9
23
|
|
data/appium_lib.gemspec
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require_relative 'lib/appium_lib/version'
|
|
2
4
|
|
|
3
5
|
Gem::Specification.new do |s|
|
|
@@ -6,7 +8,8 @@ Gem::Specification.new do |s|
|
|
|
6
8
|
s.name = 'appium_lib'
|
|
7
9
|
s.version = Appium::VERSION
|
|
8
10
|
s.license = 'Apache-2.0'
|
|
9
|
-
s.description = '
|
|
11
|
+
s.description = 'Helper methods for writing cross-platform Android and iOS tests in Ruby using Appium. ' \
|
|
12
|
+
'Extends appium_lib_core with convenient methods for finding elements and interacting with devices.'
|
|
10
13
|
s.summary = 'Ruby library for Appium'
|
|
11
14
|
s.authors = ['code@bootstraponline.com', 'Kazuaki Matsuo']
|
|
12
15
|
s.email = %w(code@bootstraponline.com fly.49.89.over@gmail.com)
|
|
@@ -15,14 +18,11 @@ Gem::Specification.new do |s|
|
|
|
15
18
|
|
|
16
19
|
s.add_dependency 'appium_lib_core', '>= 13.0.0', '< 14.0'
|
|
17
20
|
s.add_dependency 'nokogiri', '~> 1.8', '>= 1.8.1'
|
|
18
|
-
s.add_dependency 'tomlrb', '>= 1.1', '<
|
|
21
|
+
s.add_dependency 'tomlrb', '>= 1.1', '< 4.0'
|
|
19
22
|
|
|
20
|
-
s.files =
|
|
23
|
+
s.files = Dir.glob('lib/**/*.rb', base: __dir__) + %w[appium_lib.gemspec readme.md LICENSE-2.0.txt CHANGELOG.md]
|
|
24
|
+
s.metadata['source_code_uri'] = s.homepage
|
|
25
|
+
s.metadata['changelog_uri'] = "#{s.homepage}/blob/master/CHANGELOG.md"
|
|
26
|
+
s.metadata['bug_tracker_uri'] = "#{s.homepage}/issues"
|
|
21
27
|
s.metadata['rubygems_mfa_required'] = 'true'
|
|
22
|
-
# Keep release automation out of the published package.
|
|
23
|
-
s.files.reject! do |file|
|
|
24
|
-
file.start_with?('.github/', 'script/', 'test/release/') ||
|
|
25
|
-
%w[RELEASING.md release-please-config.json .release-please-manifest.json].include?(file)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
28
|
end
|
|
@@ -34,7 +34,7 @@ module Appium
|
|
|
34
34
|
|
|
35
35
|
def reset
|
|
36
36
|
@result = ''
|
|
37
|
-
@keys = %w(text resource-id content-desc)
|
|
37
|
+
@keys = %w(text resource-id content-desc view-tag)
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
# http://nokogiri.org/Nokogiri/XML/SAX/Document.html
|
|
@@ -47,7 +47,7 @@ module Appium
|
|
|
47
47
|
attributes[key] = value if keys.include?(key) && !value.empty?
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
# scoped to: text resource-id content-desc
|
|
50
|
+
# scoped to: text resource-id content-desc view-tag
|
|
51
51
|
attributes_values = attributes.values
|
|
52
52
|
strings = driver.lazy_load_strings
|
|
53
53
|
id_matches = strings.empty? ? [] : strings.select { |_key, value| attributes_values.include? value }
|
|
@@ -72,6 +72,7 @@ module Appium
|
|
|
72
72
|
text = attributes['text']
|
|
73
73
|
desc = attributes['content-desc']
|
|
74
74
|
id = attributes['resource-id']
|
|
75
|
+
tag = attributes['view-tag']
|
|
75
76
|
|
|
76
77
|
if !text.nil? && text == desc
|
|
77
78
|
string += " text, desc: #{text}\n"
|
|
@@ -80,6 +81,7 @@ module Appium
|
|
|
80
81
|
string += " desc: #{desc}\n" unless desc.nil?
|
|
81
82
|
end
|
|
82
83
|
string += " id: #{id}\n" unless id.nil?
|
|
84
|
+
string += " tag: #{tag}\n" unless tag.nil?
|
|
83
85
|
string += " strings.xml: #{string_ids}" unless string_ids.nil?
|
|
84
86
|
|
|
85
87
|
@result += "\n#{name}\n#{string}" unless attributes.empty?
|
|
@@ -88,7 +90,7 @@ module Appium
|
|
|
88
90
|
|
|
89
91
|
# Android only.
|
|
90
92
|
# Returns a string containing interesting elements.
|
|
91
|
-
# The text, content description, and
|
|
93
|
+
# The text, content description, id, and view tag are returned.
|
|
92
94
|
# @param class_name [String] the class name to filter on.
|
|
93
95
|
# if false (default) then all classes will be inspected
|
|
94
96
|
# @return [String]
|
data/lib/appium_lib/driver.rb
CHANGED
|
@@ -246,7 +246,7 @@ module Appium
|
|
|
246
246
|
# Save global reference to last created Appium driver for top level methods.
|
|
247
247
|
$driver = self if global_driver
|
|
248
248
|
|
|
249
|
-
self # rubocop:disable Lint/Void
|
|
249
|
+
self # rubocop:disable Lint/Void -- return newly created driver
|
|
250
250
|
end
|
|
251
251
|
|
|
252
252
|
private
|
data/lib/appium_lib/version.rb
CHANGED
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
|
|
15
15
|
module Appium
|
|
16
16
|
# Version and Date are defined on the 'Appium' module, not 'Appium::Common'
|
|
17
|
-
VERSION = '16.
|
|
18
|
-
DATE = '2026-
|
|
17
|
+
VERSION = '16.4.0' unless defined? ::Appium::VERSION
|
|
18
|
+
DATE = '2026-10-26' unless defined? ::Appium::DATE # x-release-please-date
|
|
19
19
|
end
|
data/readme.md
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appium_lib
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 16.
|
|
4
|
+
version: 16.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- code@bootstraponline.com
|
|
@@ -59,7 +59,7 @@ dependencies:
|
|
|
59
59
|
version: '1.1'
|
|
60
60
|
- - "<"
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: '
|
|
62
|
+
version: '4.0'
|
|
63
63
|
type: :runtime
|
|
64
64
|
prerelease: false
|
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -69,8 +69,10 @@ dependencies:
|
|
|
69
69
|
version: '1.1'
|
|
70
70
|
- - "<"
|
|
71
71
|
- !ruby/object:Gem::Version
|
|
72
|
-
version: '
|
|
73
|
-
description:
|
|
72
|
+
version: '4.0'
|
|
73
|
+
description: Helper methods for writing cross-platform Android and iOS tests in Ruby
|
|
74
|
+
using Appium. Extends appium_lib_core with convenient methods for finding elements
|
|
75
|
+
and interacting with devices.
|
|
74
76
|
email:
|
|
75
77
|
- code@bootstraponline.com
|
|
76
78
|
- fly.49.89.over@gmail.com
|
|
@@ -78,19 +80,9 @@ executables: []
|
|
|
78
80
|
extensions: []
|
|
79
81
|
extra_rdoc_files: []
|
|
80
82
|
files:
|
|
81
|
-
- ".gitignore"
|
|
82
|
-
- ".rubocop.yml"
|
|
83
83
|
- CHANGELOG.md
|
|
84
|
-
- Gemfile
|
|
85
84
|
- LICENSE-2.0.txt
|
|
86
|
-
- Rakefile
|
|
87
85
|
- appium_lib.gemspec
|
|
88
|
-
- contributing.md
|
|
89
|
-
- docs/android_uiautomator.md
|
|
90
|
-
- docs/docs.md
|
|
91
|
-
- docs/ios_xcuitest.md
|
|
92
|
-
- docs/parallel.md
|
|
93
|
-
- docs/w3c.md
|
|
94
86
|
- lib/appium_lib.rb
|
|
95
87
|
- lib/appium_lib/android/android.rb
|
|
96
88
|
- lib/appium_lib/android/common/command/command.rb
|
|
@@ -146,13 +138,13 @@ files:
|
|
|
146
138
|
- lib/appium_lib/sauce_labs.rb
|
|
147
139
|
- lib/appium_lib/version.rb
|
|
148
140
|
- readme.md
|
|
149
|
-
- release_notes.md
|
|
150
|
-
- test/first_test.rb
|
|
151
|
-
- test/regression_test.rb
|
|
152
141
|
homepage: https://github.com/appium/ruby_lib
|
|
153
142
|
licenses:
|
|
154
143
|
- Apache-2.0
|
|
155
144
|
metadata:
|
|
145
|
+
source_code_uri: https://github.com/appium/ruby_lib
|
|
146
|
+
changelog_uri: https://github.com/appium/ruby_lib/blob/master/CHANGELOG.md
|
|
147
|
+
bug_tracker_uri: https://github.com/appium/ruby_lib/issues
|
|
156
148
|
rubygems_mfa_required: 'true'
|
|
157
149
|
rdoc_options: []
|
|
158
150
|
require_paths:
|
|
@@ -168,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
168
160
|
- !ruby/object:Gem::Version
|
|
169
161
|
version: '0'
|
|
170
162
|
requirements: []
|
|
171
|
-
rubygems_version: 4.0.
|
|
163
|
+
rubygems_version: 4.0.20
|
|
172
164
|
specification_version: 4
|
|
173
165
|
summary: Ruby library for Appium
|
|
174
166
|
test_files: []
|
data/.gitignore
DELETED
data/.rubocop.yml
DELETED
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
AllCops:
|
|
2
|
-
TargetRubyVersion: 3.1
|
|
3
|
-
Layout/LineLength:
|
|
4
|
-
Max: 128
|
|
5
|
-
Metrics/MethodLength:
|
|
6
|
-
Enabled: false
|
|
7
|
-
Metrics/ModuleLength:
|
|
8
|
-
Enabled: false
|
|
9
|
-
Metrics/ClassLength:
|
|
10
|
-
Enabled: false
|
|
11
|
-
Metrics/CyclomaticComplexity:
|
|
12
|
-
Enabled: false
|
|
13
|
-
Metrics/PerceivedComplexity:
|
|
14
|
-
Enabled: false
|
|
15
|
-
Metrics/AbcSize:
|
|
16
|
-
Enabled: false
|
|
17
|
-
Metrics/BlockLength:
|
|
18
|
-
Enabled: false
|
|
19
|
-
Style/Documentation:
|
|
20
|
-
Enabled: false
|
|
21
|
-
Style/RegexpLiteral:
|
|
22
|
-
Enabled: false
|
|
23
|
-
# blocked on https://github.com/appium/ruby_lib/issues/312. Already removed from core part
|
|
24
|
-
Style/GlobalVars:
|
|
25
|
-
Enabled: false
|
|
26
|
-
Style/PercentLiteralDelimiters:
|
|
27
|
-
Enabled: false
|
|
28
|
-
Style/CommentedKeyword:
|
|
29
|
-
Enabled: false
|
|
30
|
-
Naming/AccessorMethodName:
|
|
31
|
-
Enabled: false
|
|
32
|
-
Naming/RescuedExceptionsVariableName:
|
|
33
|
-
Enabled: false
|
|
34
|
-
Layout/HeredocIndentation:
|
|
35
|
-
Enabled: false
|
|
36
|
-
Layout/RescueEnsureAlignment:
|
|
37
|
-
Enabled: false
|
|
38
|
-
Layout/HashAlignment:
|
|
39
|
-
Enabled: false
|
|
40
|
-
Style/ExplicitBlockArgument:
|
|
41
|
-
Enabled: false
|
|
42
|
-
Style/OptionalBooleanParameter:
|
|
43
|
-
Enabled: false
|
|
44
|
-
Naming/MethodParameterName:
|
|
45
|
-
Enabled: false
|
|
46
|
-
Style/KeywordParametersOrder:
|
|
47
|
-
Enabled: false
|
|
48
|
-
Style/AccessorGrouping:
|
|
49
|
-
Enabled: false
|
|
50
|
-
Style/StringConcatenation:
|
|
51
|
-
Enabled: false
|
|
52
|
-
Lint/NonDeterministicRequireOrder:
|
|
53
|
-
Enabled: false
|
|
54
|
-
Gemspec/DeprecatedAttributeAssignment:
|
|
55
|
-
Enabled: true
|
|
56
|
-
Layout/LineEndStringConcatenationIndentation:
|
|
57
|
-
Enabled: true
|
|
58
|
-
Layout/SpaceBeforeBrackets:
|
|
59
|
-
Enabled: true
|
|
60
|
-
Lint/AmbiguousAssignment:
|
|
61
|
-
Enabled: true
|
|
62
|
-
Lint/AmbiguousOperatorPrecedence:
|
|
63
|
-
Enabled: false
|
|
64
|
-
Lint/AmbiguousRange:
|
|
65
|
-
Enabled: true
|
|
66
|
-
Lint/DeprecatedConstants:
|
|
67
|
-
Enabled: true
|
|
68
|
-
Lint/DuplicateBranch:
|
|
69
|
-
Enabled: true
|
|
70
|
-
Lint/DuplicateRegexpCharacterClassElement:
|
|
71
|
-
Enabled: true
|
|
72
|
-
Lint/EmptyBlock:
|
|
73
|
-
Enabled: true
|
|
74
|
-
Lint/EmptyClass:
|
|
75
|
-
Enabled: false
|
|
76
|
-
Lint/EmptyInPattern:
|
|
77
|
-
Enabled: true
|
|
78
|
-
Lint/IncompatibleIoSelectWithFiberScheduler:
|
|
79
|
-
Enabled: true
|
|
80
|
-
Lint/LambdaWithoutLiteralBlock:
|
|
81
|
-
Enabled: true
|
|
82
|
-
Lint/NoReturnInBeginEndBlocks:
|
|
83
|
-
Enabled: true
|
|
84
|
-
Lint/NumberedParameterAssignment:
|
|
85
|
-
Enabled: true
|
|
86
|
-
Lint/OrAssignmentToConstant:
|
|
87
|
-
Enabled: true
|
|
88
|
-
Lint/RedundantDirGlobSort:
|
|
89
|
-
Enabled: true
|
|
90
|
-
Lint/RequireRelativeSelfPath:
|
|
91
|
-
Enabled: true
|
|
92
|
-
Lint/SymbolConversion:
|
|
93
|
-
Enabled: true
|
|
94
|
-
Lint/ToEnumArguments:
|
|
95
|
-
Enabled: true
|
|
96
|
-
Lint/TripleQuotes:
|
|
97
|
-
Enabled: true
|
|
98
|
-
Lint/UnexpectedBlockArity:
|
|
99
|
-
Enabled: true
|
|
100
|
-
Lint/UnmodifiedReduceAccumulator:
|
|
101
|
-
Enabled: true
|
|
102
|
-
Security/IoMethods:
|
|
103
|
-
Enabled: true
|
|
104
|
-
Style/ArgumentsForwarding:
|
|
105
|
-
Enabled: true
|
|
106
|
-
Style/CollectionCompact:
|
|
107
|
-
Enabled: true
|
|
108
|
-
Style/DocumentDynamicEvalDefinition:
|
|
109
|
-
Enabled: true
|
|
110
|
-
Style/EndlessMethod:
|
|
111
|
-
Enabled: true
|
|
112
|
-
Style/HashConversion:
|
|
113
|
-
Enabled: false
|
|
114
|
-
Style/HashExcept:
|
|
115
|
-
Enabled: true
|
|
116
|
-
Style/IfWithBooleanLiteralBranches:
|
|
117
|
-
Enabled: true
|
|
118
|
-
Style/InPatternThen:
|
|
119
|
-
Enabled: true
|
|
120
|
-
Style/MultilineInPatternThen:
|
|
121
|
-
Enabled: true
|
|
122
|
-
Style/NegatedIfElseCondition:
|
|
123
|
-
Enabled: true
|
|
124
|
-
Style/NilLambda:
|
|
125
|
-
Enabled: true
|
|
126
|
-
Style/NumberedParameters:
|
|
127
|
-
Enabled: true
|
|
128
|
-
Style/NumberedParametersLimit:
|
|
129
|
-
Enabled: true
|
|
130
|
-
Style/QuotedSymbols:
|
|
131
|
-
Enabled: true
|
|
132
|
-
Style/RedundantArgument:
|
|
133
|
-
Enabled: true
|
|
134
|
-
Style/RedundantSelfAssignmentBranch:
|
|
135
|
-
Enabled: true
|
|
136
|
-
Style/SelectByRegexp:
|
|
137
|
-
Enabled: true
|
|
138
|
-
Style/StringChars:
|
|
139
|
-
Enabled: true
|
|
140
|
-
Style/SwapValues:
|
|
141
|
-
Enabled: true
|
|
142
|
-
Gemspec/DevelopmentDependencies: # new in 1.44
|
|
143
|
-
Enabled: true
|
|
144
|
-
Layout/LineContinuationLeadingSpace: # new in 1.31
|
|
145
|
-
Enabled: true
|
|
146
|
-
Layout/LineContinuationSpacing: # new in 1.31
|
|
147
|
-
Enabled: true
|
|
148
|
-
Lint/ConstantOverwrittenInRescue: # new in 1.31
|
|
149
|
-
Enabled: true
|
|
150
|
-
Lint/DuplicateMagicComment: # new in 1.37
|
|
151
|
-
Enabled: true
|
|
152
|
-
Lint/NonAtomicFileOperation: # new in 1.31
|
|
153
|
-
Enabled: false
|
|
154
|
-
Lint/RefinementImportMethods: # new in 1.27
|
|
155
|
-
Enabled: true
|
|
156
|
-
Lint/RequireRangeParentheses: # new in 1.32
|
|
157
|
-
Enabled: true
|
|
158
|
-
Lint/UselessRescue: # new in 1.43
|
|
159
|
-
Enabled: true
|
|
160
|
-
Metrics/CollectionLiteralLength: # new in 1.47
|
|
161
|
-
Enabled: true
|
|
162
|
-
Naming/BlockForwarding: # new in 1.24
|
|
163
|
-
Enabled: true
|
|
164
|
-
Security/CompoundHash: # new in 1.28
|
|
165
|
-
Enabled: true
|
|
166
|
-
Style/ArrayIntersect: # new in 1.40
|
|
167
|
-
Enabled: true
|
|
168
|
-
Style/ComparableClamp: # new in 1.44
|
|
169
|
-
Enabled: true
|
|
170
|
-
Style/ConcatArrayLiterals: # new in 1.41
|
|
171
|
-
Enabled: true
|
|
172
|
-
Style/DirEmpty: # new in 1.48
|
|
173
|
-
Enabled: true
|
|
174
|
-
Style/EmptyHeredoc: # new in 1.32
|
|
175
|
-
Enabled: true
|
|
176
|
-
Style/EnvHome: # new in 1.29
|
|
177
|
-
Enabled: true
|
|
178
|
-
Style/FetchEnvVar: # new in 1.28
|
|
179
|
-
Enabled: true
|
|
180
|
-
Style/FileEmpty: # new in 1.48
|
|
181
|
-
Enabled: true
|
|
182
|
-
Style/FileRead: # new in 1.24
|
|
183
|
-
Enabled: true
|
|
184
|
-
Style/FileWrite: # new in 1.24
|
|
185
|
-
Enabled: true
|
|
186
|
-
Style/MagicCommentFormat: # new in 1.35
|
|
187
|
-
Enabled: true
|
|
188
|
-
Style/MapCompactWithConditionalBlock: # new in 1.30
|
|
189
|
-
Enabled: true
|
|
190
|
-
Style/MapToHash: # new in 1.24
|
|
191
|
-
Enabled: true
|
|
192
|
-
Style/MapToSet: # new in 1.42
|
|
193
|
-
Enabled: true
|
|
194
|
-
Style/MinMaxComparison: # new in 1.42
|
|
195
|
-
Enabled: true
|
|
196
|
-
Style/NestedFileDirname: # new in 1.26
|
|
197
|
-
Enabled: true
|
|
198
|
-
Style/ObjectThen: # new in 1.28
|
|
199
|
-
Enabled: true
|
|
200
|
-
Style/OperatorMethodCall: # new in 1.37
|
|
201
|
-
Enabled: true
|
|
202
|
-
Style/RedundantConstantBase: # new in 1.40
|
|
203
|
-
Enabled: false
|
|
204
|
-
Style/RedundantDoubleSplatHashBraces: # new in 1.41
|
|
205
|
-
Enabled: true
|
|
206
|
-
Style/RedundantEach: # new in 1.38
|
|
207
|
-
Enabled: true
|
|
208
|
-
Style/RedundantHeredocDelimiterQuotes: # new in 1.45
|
|
209
|
-
Enabled: true
|
|
210
|
-
Style/RedundantInitialize: # new in 1.27
|
|
211
|
-
Enabled: true
|
|
212
|
-
Style/RedundantStringEscape: # new in 1.37
|
|
213
|
-
Enabled: true
|
|
214
|
-
Gemspec/RequireMFA: # new in 1.23
|
|
215
|
-
Enabled: true
|
|
216
|
-
Lint/UselessRuby2Keywords: # new in 1.23
|
|
217
|
-
Enabled: true
|
|
218
|
-
Style/OpenStructUse: # new in 1.23
|
|
219
|
-
Enabled: false
|
|
220
|
-
Lint/RedundantStringCoercion:
|
|
221
|
-
Enabled: false
|
|
222
|
-
Gemspec/AddRuntimeDependency: # new in 1.65
|
|
223
|
-
Enabled: true
|
|
224
|
-
Lint/ConstantReassignment: # new in 1.70
|
|
225
|
-
Enabled: true
|
|
226
|
-
Lint/DuplicateMatchPattern: # new in 1.50
|
|
227
|
-
Enabled: true
|
|
228
|
-
Lint/DuplicateSetElement: # new in 1.67
|
|
229
|
-
Enabled: true
|
|
230
|
-
Lint/HashNewWithKeywordArgumentsAsDefault: # new in 1.69
|
|
231
|
-
Enabled: true
|
|
232
|
-
Lint/ItWithoutArgumentsInBlock: # new in 1.59
|
|
233
|
-
Enabled: true
|
|
234
|
-
Lint/LiteralAssignmentInCondition: # new in 1.58
|
|
235
|
-
Enabled: true
|
|
236
|
-
Lint/MixedCaseRange: # new in 1.53
|
|
237
|
-
Enabled: true
|
|
238
|
-
Lint/NumericOperationWithConstantResult: # new in 1.69
|
|
239
|
-
Enabled: true
|
|
240
|
-
Lint/RedundantRegexpQuantifiers: # new in 1.53
|
|
241
|
-
Enabled: true
|
|
242
|
-
Lint/SharedMutableDefault: # new in 1.70
|
|
243
|
-
Enabled: true
|
|
244
|
-
Lint/UnescapedBracketInRegexp: # new in 1.68
|
|
245
|
-
Enabled: true
|
|
246
|
-
Lint/UselessDefined: # new in 1.69
|
|
247
|
-
Enabled: true
|
|
248
|
-
Lint/UselessNumericOperation: # new in 1.66
|
|
249
|
-
Enabled: true
|
|
250
|
-
Style/AmbiguousEndlessMethodDefinition: # new in 1.68
|
|
251
|
-
Enabled: true
|
|
252
|
-
Style/BitwisePredicate: # new in 1.68
|
|
253
|
-
Enabled: true
|
|
254
|
-
Style/CombinableDefined: # new in 1.68
|
|
255
|
-
Enabled: true
|
|
256
|
-
Style/DataInheritance: # new in 1.49
|
|
257
|
-
Enabled: true
|
|
258
|
-
Style/DigChain: # new in 1.69
|
|
259
|
-
Enabled: true
|
|
260
|
-
Style/ExactRegexpMatch: # new in 1.51
|
|
261
|
-
Enabled: true
|
|
262
|
-
Style/FileNull: # new in 1.69
|
|
263
|
-
Enabled: true
|
|
264
|
-
Style/FileTouch: # new in 1.69
|
|
265
|
-
Enabled: true
|
|
266
|
-
Style/ItAssignment: # new in 1.70
|
|
267
|
-
Enabled: true
|
|
268
|
-
Style/KeywordArgumentsMerging: # new in 1.68
|
|
269
|
-
Enabled: true
|
|
270
|
-
Style/MapIntoArray: # new in 1.63
|
|
271
|
-
Enabled: true
|
|
272
|
-
Style/RedundantArrayConstructor: # new in 1.52
|
|
273
|
-
Enabled: true
|
|
274
|
-
Style/RedundantCurrentDirectoryInPath: # new in 1.53
|
|
275
|
-
Enabled: true
|
|
276
|
-
Style/RedundantFilterChain: # new in 1.52
|
|
277
|
-
Enabled: true
|
|
278
|
-
Style/RedundantInterpolationUnfreeze: # new in 1.66
|
|
279
|
-
Enabled: true
|
|
280
|
-
Style/RedundantLineContinuation: # new in 1.49
|
|
281
|
-
Enabled: true
|
|
282
|
-
Style/RedundantRegexpArgument: # new in 1.53
|
|
283
|
-
Enabled: true
|
|
284
|
-
Style/RedundantRegexpConstructor: # new in 1.52
|
|
285
|
-
Enabled: true
|
|
286
|
-
Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
|
|
287
|
-
Enabled: true
|
|
288
|
-
Style/SafeNavigationChainLength: # new in 1.68
|
|
289
|
-
Enabled: false
|
|
290
|
-
Style/SendWithLiteralMethodName: # new in 1.64
|
|
291
|
-
Enabled: true
|
|
292
|
-
Style/SingleLineDoEndBlock: # new in 1.57
|
|
293
|
-
Enabled: true
|
|
294
|
-
Style/SuperArguments: # new in 1.64
|
|
295
|
-
Enabled: true
|
|
296
|
-
Style/SuperWithArgsParentheses: # new in 1.58
|
|
297
|
-
Enabled: true
|
|
298
|
-
Style/YAMLFileRead: # new in 1.53
|
|
299
|
-
Enabled: true
|
data/Gemfile
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
source 'https://rubygems.org'
|
|
16
|
-
gemspec
|
|
17
|
-
|
|
18
|
-
gem 'hashdiff', '~> 1.2.0'
|
|
19
|
-
gem 'minitest', '~> 5.0'
|
|
20
|
-
gem 'minitest-reporters', '~> 1.1'
|
|
21
|
-
gem 'pry'
|
|
22
|
-
gem 'rake', '~> 13.0'
|
|
23
|
-
gem 'rubocop', '1.90.0'
|
|
24
|
-
gem 'yard', '~> 0.9.11'
|
data/Rakefile
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
require 'bundler/gem_tasks'
|
|
16
|
-
require 'rubocop/rake_task'
|
|
17
|
-
require 'rake/testtask'
|
|
18
|
-
|
|
19
|
-
desc 'Execute RuboCop static code analysis'
|
|
20
|
-
RuboCop::RakeTask.new(:rubocop) do |t|
|
|
21
|
-
t.patterns = %w(lib ios_tests android_tests)
|
|
22
|
-
t.options = %w(-D)
|
|
23
|
-
t.fail_on_error = true
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
desc('Run all unit tests in test directory')
|
|
27
|
-
Rake::TestTask.new(:test) do |t|
|
|
28
|
-
t.libs << 'test'
|
|
29
|
-
t.libs << 'lib'
|
|
30
|
-
t.test_files = FileList[ENV['TESTS'] ? ENV['TESTS'].split(',') : 'test/**/*_test.rb']
|
|
31
|
-
end
|
data/contributing.md
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Contributing
|
|
2
|
-
|
|
3
|
-
For features or bug fixes, please submit a pull request. Ideally there would be a test as well. The remainder of this doc details how to run the tests.
|
|
4
|
-
|
|
5
|
-
If you'd like to adding new driver commands, please refer to https://github.com/appium/ruby_lib_core
|
|
6
|
-
|
|
7
|
-
## Tests
|
|
8
|
-
|
|
9
|
-
- Tests are run against [appium's master branch](https://github.com/appium/appium/blob/master/docs/en/contributing-to-appium/appium-from-source.md)
|
|
10
|
-
- The tests are run using the [flaky gem](https://github.com/appium/flaky) on OS X
|
|
11
|
-
- The `arc` command can be run from within the `ios_tests` or `android_tests` folder to open an interactive console
|
|
12
|
-
|
|
13
|
-
### Run iOS tests
|
|
14
|
-
|
|
15
|
-
iOS tests are run on the iPhone 6 / iOS 9.3 simulator.
|
|
16
|
-
|
|
17
|
-
- `cd ios_tests`
|
|
18
|
-
- `flake 3 ios` - Run all the iOS tests up to 3 times
|
|
19
|
-
|
|
20
|
-
### Run Android tests
|
|
21
|
-
|
|
22
|
-
Android tests require running on physical hardware with Android 5.0 (API 21). The emulator is unreliable.
|
|
23
|
-
|
|
24
|
-
- `cd android_tests`
|
|
25
|
-
- `flake 3 android` - Run all the Android tests up to 3 times
|
|
26
|
-
|
|
27
|
-
## Publishing
|
|
28
|
-
|
|
29
|
-
0. Ensure you have `~/.gem/credentials` If not run [the following command](http://guides.rubygems.org/make-your-own-gem/) (replace username with your rubygems user)
|
|
30
|
-
> $ curl -u username https://rubygems.org/api/v1/api_key.yaml >
|
|
31
|
-
~/.gem/credentials; chmod 0600 ~/.gem/credentials
|
|
32
|
-
|
|
33
|
-
1. Bump the version number: `thor bump` (`bumpy`, `bumpz`)
|
|
34
|
-
2. Update `CHANGELOG.md`
|
|
35
|
-
3. Generate release note, publish release gem and push the tag to this repository: `thor release`
|
data/docs/android_uiautomator.md
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Help debugging
|
|
2
|
-
|
|
3
|
-
- `adb shell uiautomator events`
|
|
4
|
-
- Prints out accessibility events to the console until the connection to the device is terminated
|
|
5
|
-
- [URL](https://stuff.mit.edu/afs/sipb/project/android/docs/tools/help/uiautomator/index.html)
|
|
6
|
-
- **notice**
|
|
7
|
-
- If Appium is started then it terminates the other `uiautomator` processes
|
|
8
|
-
|
|
9
|
-
# uiautomator2
|
|
10
|
-
## difference between uiautomator1 and uiautomator2
|
|
11
|
-
- `find_element/s :id, "ids"`
|
|
12
|
-
- uiautomator1
|
|
13
|
-
- Find elements with `resource_id`
|
|
14
|
-
- Find elements with string id resource(string.xml based)
|
|
15
|
-
- uiautomator2
|
|
16
|
-
- Find elements with `resource_id`
|
|
17
|
-
- from: Does not appium-uiautomator2-server support finding string ids with "id" strategy? [issue](https://github.com/appium/appium/issues/8349)
|