testa_appium_driver 0.1.13 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +23 -0
  3. data/.gitignore +2 -3
  4. data/.rubocop.yml +5 -13
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +76 -0
  7. data/appium-driver.iml +74 -0
  8. data/lib/testa_appium_driver/android/class_selectors.rb +7 -7
  9. data/lib/testa_appium_driver/android/driver.rb +1 -0
  10. data/lib/testa_appium_driver/android/locator/attributes.rb +29 -25
  11. data/lib/testa_appium_driver/android/locator.rb +1 -1
  12. data/lib/testa_appium_driver/android/selenium_element.rb +6 -2
  13. data/lib/testa_appium_driver/common/constants.rb +2 -1
  14. data/lib/testa_appium_driver/common/locator/scroll_actions.rb +33 -33
  15. data/lib/testa_appium_driver/common/locator.rb +66 -78
  16. data/lib/testa_appium_driver/common/scroll_actions/json_wire_scroll_actions.rb +1 -1
  17. data/lib/testa_appium_driver/common/scroll_actions/w3c_scroll_actions.rb +87 -20
  18. data/lib/testa_appium_driver/common/scroll_actions.rb +43 -23
  19. data/lib/testa_appium_driver/common/selenium_element.rb +2 -2
  20. data/lib/testa_appium_driver/driver.rb +41 -20
  21. data/lib/testa_appium_driver/ios/locator/attributes.rb +24 -20
  22. data/lib/testa_appium_driver/ios/locator.rb +1 -0
  23. data/lib/testa_appium_driver/ios/selenium_element.rb +3 -2
  24. data/lib/testa_appium_driver/ios/type_selectors.rb +2 -2
  25. data/lib/testa_appium_driver/version.rb +1 -1
  26. data/testa_appium_driver.gemspec +2 -2
  27. metadata +11 -18
  28. data/.idea/deployment.xml +0 -22
  29. data/.idea/inspectionProfiles/Project_Default.xml +0 -9
  30. data/.idea/misc.xml +0 -6
  31. data/.idea/modules.xml +0 -8
  32. data/.idea/runConfigurations/Android_Test.xml +0 -42
  33. data/.idea/runConfigurations.xml +0 -10
  34. data/.idea/sshConfigs.xml +0 -13
  35. data/.idea/vcs.xml +0 -6
  36. data/.idea/webServers.xml +0 -21
  37. data/testa_appium_driver.iml +0 -41
@@ -1,10 +1,14 @@
1
1
  require_relative 'scroll_actions/json_wire_scroll_actions'
2
2
  require_relative 'scroll_actions/w3c_scroll_actions'
3
3
 
4
- module TestaAppiumDriver
4
+ module ::TestaAppiumDriver
5
5
 
6
6
  # Class for handling scroll actions
7
7
  class ScrollActions
8
+ include W3cScrollActions
9
+ include JsonWireScrollActions
10
+
11
+ attr_accessor :locator
8
12
  # @param [TestaAppiumDriver::Locator, nil] scrollable container that will be used to determine the bounds for scrolling
9
13
  # @param [Hash] params
10
14
  # acceptable params
@@ -15,6 +19,7 @@ module TestaAppiumDriver
15
19
  def initialize(scrollable, params = {})
16
20
  @scrollable = scrollable
17
21
  @locator = params[:locator]
22
+ # TODO: raise error if locator is for multiple, but not for scroll each, chekc other cases aswell
18
23
  @deadzone = params[:deadzone]
19
24
  @max_scrolls = params[:max_scrolls]
20
25
  @default_scroll_strategy = params[:default_scroll_strategy]
@@ -36,8 +41,8 @@ module TestaAppiumDriver
36
41
  @bounds = @scrollable.bounds
37
42
  end
38
43
 
39
- def align(with, scroll_to_find)
40
- w3c_align(with, scroll_to_find)
44
+ def align(with, scroll_to_find, max_attempts)
45
+ w3c_align(with, scroll_to_find, max_attempts)
41
46
  @locator
42
47
  end
43
48
 
@@ -195,12 +200,43 @@ module TestaAppiumDriver
195
200
  w3c_drag_to(x0, y0, x1, y1)
196
201
  end
197
202
 
198
- private
203
+
204
+ def is_aligned?(with, element)
205
+ align_bounds = @locator.bounds(force_cache_element: element)
206
+ case with
207
+ when :top
208
+ @align_offset = align_bounds.top_left.y - @bounds.top_left.y - @deadzone[:top]
209
+ when :bottom
210
+ @align_offset = @bounds.bottom_right.y - @deadzone[:bottom] - align_bounds.bottom_right.y
211
+ when :right
212
+ @align_offset = @bounds.bottom_right.x - @deadzone[:right] - align_bounds.bottom_right.x
213
+ when :left
214
+ @align_offset = align_bounds.top_left.x - @bounds.top_left.x - @deadzone[:left]
215
+ else
216
+ raise "Unsupported align with option: #{with}"
217
+ end
218
+ @align_offset < SCROLL_ALIGNMENT_THRESHOLD
219
+ end
220
+
221
+
199
222
 
200
223
  def is_end_of_scroll?
201
- old_elements = @previous_elements
202
- @previous_elements = @scrollable.first_and_last_leaf
203
- old_elements == @previous_elements
224
+ if @driver.device == :android
225
+ # $__ctx.puts "end_of_scroll?"
226
+ # $__ctx.puts "old: #{@previous_elements}"
227
+ # $__ctx.puts "device: #{@driver.device}"
228
+
229
+ old_elements = @previous_elements
230
+ @previous_elements = @scrollable.first_and_last_leaf
231
+ # $__ctx.puts "new: #{@previous_elements}"
232
+
233
+ old_elements == @previous_elements
234
+ else
235
+ # for is, check location of first and last elements
236
+ old_elements = @previous_elements
237
+ @previous_elements = @scrollable.first_and_last_child&.map(&:location)
238
+ old_elements == @previous_elements
239
+ end
204
240
  end
205
241
 
206
242
  def default_deadzone!
@@ -227,21 +263,5 @@ module TestaAppiumDriver
227
263
  end
228
264
  end
229
265
 
230
- def is_aligned?(with, element)
231
- align_bounds = @locator.bounds(force_cache_element: element)
232
- case with
233
- when :top
234
- @align_offset = align_bounds.top_left.y - @bounds.top_left.y + @deadzone[:top]
235
- when :bottom
236
- @align_offset = @bounds.bottom_right.y - @deadzone[:bottom] - align_bounds.bottom_right.y
237
- when :right
238
- @align_offset = @bounds.bottom_right.x - @deadzone[:right] - align_bounds.bottom_right.x
239
- when :left
240
- @align_offset = align_bounds.top_left.x - @bounds.top_left.x + @deadzone[:left]
241
- else
242
- raise "Unsupported align with option: #{with}"
243
- end
244
- @align_offset < SCROLL_ALIGNMENT_THRESHOLD
245
- end
246
266
  end
247
267
  end
@@ -1,5 +1,5 @@
1
- module Selenium
2
- module WebDriver
1
+ module ::Appium
2
+ module Core
3
3
  class Element
4
4
  # sets the testa appium driver instance for the current phone
5
5
  def self.set_driver(driver, udid)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'em/pure_ruby'
3
+ #require 'em/pure_ruby'
4
4
  require 'appium_lib_core'
5
5
 
6
6
  require_relative 'common/bounds'
@@ -10,7 +10,7 @@ require_relative 'common/locator'
10
10
  require_relative 'common/scroll_actions'
11
11
  require_relative 'common/selenium_element'
12
12
 
13
- module TestaAppiumDriver
13
+ module ::TestaAppiumDriver
14
14
  class Driver
15
15
  include Helpers
16
16
 
@@ -27,25 +27,24 @@ module TestaAppiumDriver
27
27
  # - default_find_strategy: default strategy to be used for finding elements. Available strategies :uiautomator or :xpath
28
28
  # - default_scroll_strategy: default strategy to be used for scrolling. Available strategies: :uiautomator(android only), :w3c
29
29
  def initialize(opts = {})
30
- opts[:shouldEnforceXpath1] = false
31
30
 
32
31
  @testa_opts = opts[:testa_appium_driver] || {}
33
32
 
34
33
  core = Appium::Core.for(opts)
35
- extend_for(core.device, core.automation_name)
36
- @device = core.device
37
- @automation_name = core.automation_name
34
+ @driver = core.start_driver
35
+ @automation_name = @driver.capabilities["automationName"].downcase.to_sym
36
+ @device = @driver.capabilities.platform_name.downcase.to_sym
37
+
38
+ extend_for(@device, @automation_name)
38
39
 
39
40
  handle_testa_opts
40
41
 
41
- @driver = core.start_driver
42
42
  invalidate_cache
43
43
 
44
+ #disable_wait_for_idle
45
+ #disable_implicit_wait
44
46
 
45
- disable_wait_for_idle
46
- disable_implicit_wait
47
-
48
- Selenium::WebDriver::Element.set_driver(self, opts[:caps][:udid])
47
+ ::Appium::Core::Element.set_driver(self, @driver.capabilities["udid"])
49
48
  end
50
49
 
51
50
 
@@ -84,7 +83,11 @@ module TestaAppiumDriver
84
83
  from_element_id = from_element.instance_of?(TestaAppiumDriver::Locator) ? from_element.strategies_and_selectors : nil
85
84
 
86
85
  begin
86
+ begin
87
87
  ss = strategies_and_selectors[ss_index % strategies_and_selectors.count]
88
+ rescue ZeroDivisionError
89
+ puts "aa"
90
+ end
88
91
  ss_index +=1
89
92
 
90
93
  puts "Executing #{from_element_id ? "from #{from_element.strategy}: #{from_element.strategies_and_selectors} => " : ""}#{ss.keys[0]}: #{ss.values[0]}"
@@ -153,7 +156,7 @@ module TestaAppiumDriver
153
156
  @implicit_wait_ms = @implicit_wait_ms/1000 if @implicit_wait_ms > 100000
154
157
  @implicit_wait_uiautomator_ms = @driver.get_settings["waitForSelectorTimeout"]
155
158
  @driver.manage.timeouts.implicit_wait = 0
156
- @driver.update_settings({waitForSelectorTimeout: 1})
159
+ @driver.update_settings({waitForSelectorTimeout: 0})
157
160
  end
158
161
 
159
162
 
@@ -246,26 +249,28 @@ module TestaAppiumDriver
246
249
  @driver.long_press_keycode(code)
247
250
  end
248
251
 
249
- def click(x, y)
252
+ def click(x, y, double: false)
250
253
  ws = driver.window_size
251
254
  window_width = ws.width.to_i
252
255
  window_height = ws.height.to_i
253
- if x.kind_of? Integer
256
+ if x.kind_of?(Integer)
254
257
  if x < 0
255
258
  x = window_width + x
256
259
  end
257
- elsif x.kind_of? Float
260
+ elsif x.kind_of?(Float) && x <= 1.0 && x >= 0
258
261
  x = window_width*x
259
262
  else
260
- raise "x value #{x} not supported"
263
+ raise "x value #{x} not supported. Use integer as pixel or float (0..1) as percentage of screen"
261
264
  end
262
265
 
263
- if y.kind_of? Integer
266
+ if y.kind_of?(Integer)
264
267
  if y < 0
265
268
  y = window_height + y
266
269
  end
267
- elsif y.kind_of? Float
270
+ elsif y.kind_of?(Float) && y <= 1.0 && y >= 0
268
271
  y = window_height*y
272
+ else
273
+ raise "y value #{x} not supported. Use integer as pixel or float (0..1) as percentage of screen"
269
274
  end
270
275
 
271
276
 
@@ -274,24 +279,40 @@ module TestaAppiumDriver
274
279
  f1.create_pointer_move(duration: 0, x: x, y: y, origin: ::Selenium::WebDriver::Interactions::PointerMove::VIEWPORT)
275
280
  f1.create_pointer_down(:left)
276
281
  f1.create_pointer_up(:left)
282
+ if double
283
+ f1.create_pause(0.1)
284
+ f1.create_pointer_down(:left)
285
+ f1.create_pointer_up(:left)
286
+ end
277
287
  @driver.perform_actions [f1]
278
288
  end
279
289
 
290
+ def double_click(x,y)
291
+ click(x,y, double: true)
292
+ end
293
+
280
294
 
281
295
 
282
296
  # @return [Array<Selenium::WebDriver::Element] array of 2 elements, the first element without children and the last element without children in the current page
283
297
  def first_and_last_leaf(from_element = @driver)
284
- elements = from_element.find_elements(xpath: "//*[not(*)]")
298
+ elements = from_element.find_elements(xpath: ".//*[not(*)]")
285
299
  return nil if elements.count == 0
286
300
  [elements[0], elements[-1]]
287
301
  end
288
302
 
303
+ def first_and_last_child(from_element = @driver)
304
+ elements = from_element.find_elements(xpath: "./*")
305
+ return nil if elements.count == 0
306
+
307
+ [elements[0], elements[-1]]
308
+ end
309
+
289
310
  private
290
311
  def extend_for(device, automation_name)
291
312
  case device
292
313
  when :android
293
314
  case automation_name
294
- when :uiautomator2
315
+ when :uiautomator2, :espresso, :Espresso
295
316
  require_relative 'android/driver'
296
317
  else
297
318
  raise "Testa appium driver not supported for #{automation_name} automation"
@@ -2,10 +2,17 @@ module TestaAppiumDriver
2
2
  module Attributes
3
3
 
4
4
  #noinspection RubyNilAnalysis
5
- def attribute(name, *args)
6
- elements = execute(*args)
5
+ def testa_attribute(name, *args)
7
6
 
8
- if elements.instance_of?(Selenium::WebDriver::Element)
7
+ if self.instance_of?(::Selenium::WebDriver::Element) || self.instance_of?(::Appium::Core::Element)
8
+ @driver = get_driver
9
+ elements = self
10
+ else
11
+ elements = execute(*args)
12
+ end
13
+
14
+
15
+ if elements.instance_of?(::Selenium::WebDriver::Element) || elements.instance_of?(::Appium::Core::Element)
9
16
  r = elements.send(:attribute, name.to_s)
10
17
  r = TestaAppiumDriver::Bounds.from_ios(r, @driver) if name.to_s == "rect"
11
18
  else
@@ -17,65 +24,62 @@ module TestaAppiumDriver
17
24
 
18
25
 
19
26
  def accessibility_container(*args)
20
- attribute("accessibilityContainer", *args)
27
+ testa_attribute("accessibilityContainer", *args)
21
28
  end
22
29
 
23
30
  def accessible?(*args)
24
- attribute("accessible", *args).to_s == "true"
31
+ testa_attribute("accessible", *args).to_s == "true"
25
32
  end
26
33
 
27
34
 
28
35
  def class_name(*args)
29
- attribute("class", *args)
36
+ testa_attribute("class", *args)
30
37
  end
31
38
 
32
39
  def enabled?(*args)
33
- attribute("enabled", *args).to_s == "true"
40
+ testa_attribute("enabled", *args).to_s == "true"
34
41
  end
35
42
 
36
43
  def frame(*args)
37
- attribute("frame", *args)
44
+ testa_attribute("frame", *args)
38
45
  end
39
46
 
40
47
  def index(*args)
41
- attribute("index", *args)
48
+ testa_attribute("index", *args)
42
49
  end
43
50
 
44
51
  def label(*args)
45
- attribute("label", *args)
52
+ testa_attribute("label", *args)
46
53
  end
47
54
 
48
55
  def name(*args)
49
- attribute("name", *args)
56
+ testa_attribute("name", *args)
50
57
  end
51
58
 
52
59
 
53
60
  def rect(*args)
54
- attribute("rect", *args)
61
+ testa_attribute("rect", *args)
55
62
  end
56
63
 
57
64
  def selected?(*args)
58
- attribute("selected", *args).to_s == "true"
65
+ testa_attribute("selected", *args).to_s == "true"
59
66
  end
60
67
 
61
68
  def type(*args)
62
- attribute("type", *args)
69
+ testa_attribute("type", *args)
63
70
  end
64
71
 
65
72
  def value(*args)
66
- attribute("value", *args)
73
+ testa_attribute("value", *args)
67
74
  end
68
75
 
69
76
  def visible?(*args)
70
- attribute("visible", *args).to_s == "true"
77
+ testa_attribute("visible", *args).to_s == "true"
71
78
  end
72
79
 
73
80
 
74
81
  alias_method :bounds, :rect
75
82
  alias_method :text, :label
76
83
  end
77
- #noinspection RubyYardReturnMatch
78
- class Locator
79
- include TestaAppiumDriver::Attributes
80
- end
84
+
81
85
  end
@@ -3,6 +3,7 @@ require_relative 'locator/attributes'
3
3
  module TestaAppiumDriver
4
4
  class Locator
5
5
  include TypeSelectors
6
+ include Attributes
6
7
  attr_accessor :class_chain_selector
7
8
 
8
9
  def init(params, selectors, single)
@@ -1,7 +1,8 @@
1
- module Selenium
2
- module WebDriver
1
+ module ::Appium
2
+ module Core
3
3
  class Element
4
4
  include TestaAppiumDriver::TypeSelectors
5
+ include TestaAppiumDriver::Attributes
5
6
  end
6
7
  end
7
8
  end
@@ -5,10 +5,10 @@ module TestaAppiumDriver
5
5
  # @return [TestaAppiumDriver::Locator]
6
6
  def add_selector(*args, &block)
7
7
  # if class selector is executed from driver, create new locator instance
8
- if self.kind_of?(TestaAppiumDriver::Driver) || self.instance_of?(Selenium::WebDriver::Element)
8
+ if self.kind_of?(TestaAppiumDriver::Driver) || self.instance_of?(::Selenium::WebDriver::Element) || self.instance_of?(::Appium::Core::Element)
9
9
  args.last[:default_find_strategy] = @default_find_strategy
10
10
  args.last[:default_scroll_strategy] = @default_scroll_strategy
11
- if self.instance_of?(Selenium::WebDriver::Element)
11
+ if self.instance_of?(::Selenium::WebDriver::Element) || self.instance_of?(::Appium::Core::Element)
12
12
  driver = self.get_driver
13
13
  else
14
14
  driver = self
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TestaAppiumDriver
4
- VERSION = "0.1.13"
4
+ VERSION = "0.1.16"
5
5
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.description = "Testa appium driver is a wrapper around ruby_lib_core. It leverages all driver features and makes them simple and easy to use, significantly reduces the amount of code needed and enables you to define locators that can be reused"
13
13
  spec.homepage = "https://github.com/Karazum/testa_appium_driver"
14
14
  spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.4.0"
15
+ spec.required_ruby_version = ">= 2.7.6"
16
16
 
17
17
  #spec.metadata["allowed_push_host"] = "Set to 'https://mygemserver.com'"
18
18
 
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_runtime_dependency "appium_lib_core", ["= 5.1.0"]
33
+ spec.add_runtime_dependency "appium_lib_core", ["~> 5.4.0"]
34
34
  spec.add_runtime_dependency "json", ["~> 2.3"]
35
35
 
36
36
  spec.add_development_dependency "rubocop", ["= 1.19.0"]
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testa_appium_driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - karlo.razumovic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-29 00:00:00.000000000 Z
11
+ date: 2022-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appium_lib_core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 5.1.0
19
+ version: 5.4.0
20
20
  type: :runtime
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: 5.1.0
26
+ version: 5.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -75,24 +75,18 @@ executables: []
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
+ - ".gitattributes"
78
79
  - ".gitignore"
79
- - ".idea/deployment.xml"
80
- - ".idea/inspectionProfiles/Project_Default.xml"
81
- - ".idea/misc.xml"
82
- - ".idea/modules.xml"
83
- - ".idea/runConfigurations.xml"
84
- - ".idea/runConfigurations/Android_Test.xml"
85
- - ".idea/sshConfigs.xml"
86
- - ".idea/vcs.xml"
87
- - ".idea/webServers.xml"
88
80
  - ".rspec"
89
81
  - ".rubocop.yml"
90
82
  - CHANGELOG.md
91
83
  - CODE_OF_CONDUCT.md
92
84
  - Gemfile
85
+ - Gemfile.lock
93
86
  - LICENSE.txt
94
87
  - README.md
95
88
  - Rakefile
89
+ - appium-driver.iml
96
90
  - bin/console
97
91
  - bin/setup
98
92
  - lib/testa_appium_driver.rb
@@ -120,7 +114,6 @@ files:
120
114
  - lib/testa_appium_driver/ios/type_selectors.rb
121
115
  - lib/testa_appium_driver/version.rb
122
116
  - testa_appium_driver.gemspec
123
- - testa_appium_driver.iml
124
117
  homepage: https://github.com/Karazum/testa_appium_driver
125
118
  licenses:
126
119
  - MIT
@@ -137,14 +130,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
130
  requirements:
138
131
  - - ">="
139
132
  - !ruby/object:Gem::Version
140
- version: 2.4.0
133
+ version: 2.7.6
141
134
  required_rubygems_version: !ruby/object:Gem::Requirement
142
135
  requirements:
143
136
  - - ">="
144
137
  - !ruby/object:Gem::Version
145
138
  version: '0'
146
139
  requirements: []
147
- rubygems_version: 3.1.2
140
+ rubygems_version: 3.1.6
148
141
  signing_key:
149
142
  specification_version: 4
150
143
  summary: Appium made easy
data/.idea/deployment.xml DELETED
@@ -1,22 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PublishConfigData" autoUpload="On explicit save action" serverName="supertesta.com" preserveTimestamps="false" autoUploadExternalChanges="true">
4
- <serverData>
5
- <paths name="supertesta.com">
6
- <serverdata>
7
- <mappings>
8
- <mapping deploy="/testa_docker/path_data/testa_appium_driver" local="$PROJECT_DIR$" web="/" />
9
- </mappings>
10
- </serverdata>
11
- </paths>
12
- <paths name="testa.fun">
13
- <serverdata>
14
- <mappings>
15
- <mapping local="$PROJECT_DIR$" web="/" />
16
- </mappings>
17
- </serverdata>
18
- </paths>
19
- </serverData>
20
- <option name="myAutoUpload" value="ON_EXPLICIT_SAVE" />
21
- </component>
22
- </project>
@@ -1,9 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <profile version="1.0">
3
- <option name="myName" value="Project Default" />
4
- <inspection_tool class="Rubocop" enabled="false" level="WARNING" enabled_by_default="false" />
5
- <inspection_tool class="RubyClassMethodNamingConvention" enabled="true" level="WARNING" enabled_by_default="true">
6
- <option name="m_maxLength" value="40" />
7
- </inspection_tool>
8
- </profile>
9
- </component>
data/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.6.5-p114" project-jdk-type="RUBY_SDK">
4
- <output url="file://$PROJECT_DIR$/out" />
5
- </component>
6
- </project>
data/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/testa_appium_driver.iml" filepath="$PROJECT_DIR$/testa_appium_driver.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,42 +0,0 @@
1
- <component name="ProjectRunConfigurationManager">
2
- <configuration default="false" name="Android Test" type="RSpecRunConfigurationType" factoryName="RSpec">
3
- <module name="testa_appium_driver" />
4
- <predefined_log_file enabled="true" id="RUBY_RSPEC" />
5
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
6
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
7
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
8
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
9
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
11
- <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_FORKED_COVERAGE="true" />
13
- <EXTENSION ID="net.ashald.envfile">
14
- <option name="IS_ENABLED" value="false" />
15
- <option name="IS_SUBST" value="false" />
16
- <option name="IS_PATH_MACRO_SUPPORTED" value="false" />
17
- <option name="IS_IGNORE_MISSING_FILES" value="false" />
18
- <option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
19
- <ENTRIES>
20
- <ENTRY IS_ENABLED="true" PARSER="runconfig" />
21
- </ENTRIES>
22
- </EXTENSION>
23
- <EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
24
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
25
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$PROJECT_DIR$/spec/testa_appium_driver_android_spec.rb" />
26
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATHS" VALUE="$PROJECT_DIR$/spec/testa_appium_driver_android_spec.rb" />
27
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
28
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
29
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
30
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
31
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
32
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="3.10.1" />
33
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
34
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
35
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
36
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
37
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
38
- <method v="2">
39
- <option name="Make" enabled="true" />
40
- </method>
41
- </configuration>
42
- </component>
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="RunConfigurationProducerService">
4
- <option name="ignoredProducers">
5
- <set>
6
- <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
7
- </set>
8
- </option>
9
- </component>
10
- </project>
data/.idea/sshConfigs.xml DELETED
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="SshConfigs">
4
- <configs>
5
- <sshConfig authType="PASSWORD" host="supertesta.com" id="ea45cb27-d516-4292-a1f7-430f02857685" port="22" customName="Supertesta.com" nameFormat="CUSTOM" username="testa">
6
- <option name="customName" value="Supertesta.com" />
7
- </sshConfig>
8
- <sshConfig authType="PASSWORD" host="testa.fun" id="54640192-a130-4edc-ac3c-f3bc32df1130" port="22" customName="testa.fun" nameFormat="CUSTOM" username="root">
9
- <option name="customName" value="testa.fun" />
10
- </sshConfig>
11
- </configs>
12
- </component>
13
- </project>
data/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
data/.idea/webServers.xml DELETED
@@ -1,21 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="WebServers">
4
- <option name="servers">
5
- <webServer id="b1f6f214-0ed7-4869-998b-43dc6e5c154a" name="supertesta.com" url="http://something">
6
- <fileTransfer rootFolder="/ruby_apps" accessType="SFTP" host="supertesta.com" port="22" sshConfigId="ea45cb27-d516-4292-a1f7-430f02857685" sshConfig="Supertesta.com">
7
- <advancedOptions>
8
- <advancedOptions dataProtectionLevel="Private" keepAliveTimeout="0" passiveMode="true" shareSSLContext="true" />
9
- </advancedOptions>
10
- </fileTransfer>
11
- </webServer>
12
- <webServer id="e1897dc5-c089-49e3-802d-1c69de9874a7" name="testa.fun" url="http://something">
13
- <fileTransfer rootFolder="/ruby_apps" accessType="SFTP" host="testa.fun" port="22" sshConfigId="54640192-a130-4edc-ac3c-f3bc32df1130" sshConfig="testa.fun">
14
- <advancedOptions>
15
- <advancedOptions dataProtectionLevel="Private" keepAliveTimeout="0" passiveMode="true" shareSSLContext="true" />
16
- </advancedOptions>
17
- </fileTransfer>
18
- </webServer>
19
- </option>
20
- </component>
21
- </project>