testcentricity_web 3.1.1 → 3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 40b360062a971743dfe2180106b97e708b625b49
4
- data.tar.gz: 98ca5f2350120f3e2edd9ecc1480f1ea2c60401e
3
+ metadata.gz: '059070e4e6e8fc3ea48e75b396ead585e72e3213'
4
+ data.tar.gz: e24b7f759ee8555775457427ce7ab47b8079bb0d
5
5
  SHA512:
6
- metadata.gz: 2b932eb83d0eb9da4aaf7c41282f68cfaafce2b8e373b33109a3277e14dcc4c519d93826c42708dd46c135c394a3897486813e90fb1bdbac60d4121f9150747a
7
- data.tar.gz: 0173507d114bf54ca4e0c10b52cbb1cf14d08103ffe9d909751fef8b9d00a9fbbdeab912eca67aaf75355d6e5dc1908c34bb10c7eb22c1bf657a21805e5c24c3
6
+ metadata.gz: 2cca7a09577756150eb5187b9d317423dd60a476678094900c09a36c229481e9c112325ab9212eef4b74440b485cfd5aa5748f3757af3e6a4c46c20a68facdad
7
+ data.tar.gz: bade4a1a074299e1f7668c0306fa3ff837917fa2c144ec973ac6feb61fd5c194b0b963c4bdfd4b084b62f498dbda5ee113ff00df49321696a9d1e92107fc5875
data/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
4
 
5
+ ## [3.1.2] - 2018-12-03
6
+
7
+ ### Added
8
+ * Added `Audio.current_time` (setter), `Audio.play`, and `Audio.pause` methods.
9
+ * Added `Video.current_time` (setter), `Video.play`, and `Video.pause` methods.
10
+
11
+
5
12
  ## [3.1.1] - 2018-11-30
6
13
 
7
14
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- testcentricity_web (3.1.1)
4
+ testcentricity_web (3.1.2)
5
5
  appium_lib
6
6
  browserstack-local
7
7
  capybara (>= 3.1, < 4)
@@ -24,9 +24,13 @@ GEM
24
24
  appium_lib_core (~> 2.0)
25
25
  nokogiri (~> 1.8, >= 1.8.1)
26
26
  tomlrb (~> 1.1)
27
- appium_lib_core (2.1.1)
27
+ appium_lib_core (2.2.0)
28
28
  faye-websocket (~> 0.10.0)
29
29
  selenium-webdriver (~> 3.14, >= 3.14.1)
30
+ axiom-types (0.1.1)
31
+ descendants_tracker (~> 0.0.4)
32
+ ice_nine (~> 0.11.0)
33
+ thread_safe (~> 0.3, >= 0.3.1)
30
34
  browserstack-local (1.3.0)
31
35
  capybara (3.12.0)
32
36
  addressable
@@ -39,7 +43,12 @@ GEM
39
43
  childprocess (0.9.0)
40
44
  ffi (~> 1.0, >= 1.0.11)
41
45
  chronic (0.10.2)
46
+ coercible (1.0.0)
47
+ descendants_tracker (~> 0.0.1)
42
48
  concurrent-ruby (1.1.3)
49
+ descendants_tracker (0.0.4)
50
+ thread_safe (~> 0.3, >= 0.3.1)
51
+ equalizer (0.0.11)
43
52
  eventmachine (1.2.7)
44
53
  faker (1.9.1)
45
54
  i18n (>= 0.7)
@@ -49,6 +58,7 @@ GEM
49
58
  ffi (1.9.25)
50
59
  i18n (1.1.1)
51
60
  concurrent-ruby (~> 1.0)
61
+ ice_nine (0.11.2)
52
62
  mini_mime (1.0.1)
53
63
  mini_portile2 (2.3.0)
54
64
  nokogiri (1.8.5)
@@ -69,9 +79,15 @@ GEM
69
79
  rubyzip (~> 1.2, >= 1.2.2)
70
80
  spreadsheet (1.1.7)
71
81
  ruby-ole (>= 1.0)
72
- test-unit (3.2.8)
82
+ test-unit (3.2.9)
73
83
  power_assert
84
+ thread_safe (0.3.6)
74
85
  tomlrb (1.2.7)
86
+ virtus (1.0.5)
87
+ axiom-types (~> 0.1)
88
+ coercible (~> 1.0)
89
+ descendants_tracker (~> 0.0, >= 0.0.3)
90
+ equalizer (~> 0.0, >= 0.0.9)
75
91
  webdrivers (3.4.3)
76
92
  nokogiri (~> 1.6)
77
93
  rubyzip (~> 1.0)
@@ -90,6 +106,7 @@ DEPENDENCIES
90
106
  rake
91
107
  redcarpet
92
108
  testcentricity_web!
109
+ virtus
93
110
 
94
111
  BUNDLED WITH
95
112
  1.16.4
@@ -1,5 +1,6 @@
1
1
  require 'yaml'
2
2
  require 'json'
3
+ require 'virtus'
3
4
 
4
5
 
5
6
  module TestCentricity
@@ -27,6 +28,53 @@ module TestCentricity
27
28
  end
28
29
 
29
30
 
31
+ class DataPresenter
32
+ include Virtus.model
33
+
34
+ attr_accessor :current
35
+ attr_accessor :context
36
+
37
+ def initialize(data)
38
+ self.attributes = data
39
+ end
40
+
41
+ def self.current
42
+ @current
43
+ end
44
+
45
+ def self.current=(current)
46
+ @current = current
47
+ end
48
+
49
+ def to_hash(node_name)
50
+ data = {}
51
+ data[node_name] = {
52
+ class: self.class.name,
53
+ attributes: self.attributes
54
+ }
55
+ data
56
+ end
57
+
58
+ def to_yaml(node_name)
59
+ data = to_hash(node_name)
60
+ data.to_yaml
61
+ end
62
+
63
+ def write_yaml_data(file_name, mode, node_name)
64
+ File.open(file_name, mode) { |file| file.write(to_yaml(node_name)) }
65
+ end
66
+
67
+ def to_json(node_name)
68
+ data = to_hash(node_name)
69
+ data.to_json
70
+ end
71
+
72
+ def write_json_data(file_name, mode, node_name)
73
+ File.open(file_name, mode) { |file| file.write(to_json(node_name)) }
74
+ end
75
+ end
76
+
77
+
30
78
  class DataSource
31
79
  attr_accessor :file_path
32
80
  attr_accessor :node
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '3.1.1'
2
+ VERSION = '3.1.2'
3
3
  end
@@ -192,5 +192,39 @@ module TestCentricity
192
192
  object_not_found_exception(obj, :audio)
193
193
  obj.native.attribute('volume')
194
194
  end
195
+
196
+ # Set the audio currentTime property
197
+ #
198
+ # @param value [Float] time in seconds
199
+ # @example
200
+ # audio_player.current_time = 1.5
201
+ #
202
+ def current_time=(value)
203
+ obj, = find_element(visible = :all)
204
+ object_not_found_exception(obj, nil)
205
+ page.execute_script('arguments[0].currentTime = arguments[1]', obj, value)
206
+ end
207
+
208
+ # Play the audio
209
+ #
210
+ # @example
211
+ # audio_player.play
212
+ #
213
+ def play
214
+ obj, = find_element(visible = :all)
215
+ object_not_found_exception(obj, nil)
216
+ page.execute_script('arguments[0].play()', obj)
217
+ end
218
+
219
+ # Pause the audio
220
+ #
221
+ # @example
222
+ # audio_player.pause
223
+ #
224
+ def pause
225
+ obj, = find_element(visible = :all)
226
+ object_not_found_exception(obj, nil)
227
+ page.execute_script('arguments[0].pause()', obj)
228
+ end
195
229
  end
196
230
  end
@@ -167,7 +167,7 @@ module TestCentricity
167
167
  # Send keystrokes to this object.
168
168
  #
169
169
  # @param keys [String] keys
170
- # @example
170
+ # @example
171
171
  # comment_field.send_keys(:enter)
172
172
  #
173
173
  def send_keys(*keys)
@@ -192,5 +192,39 @@ module TestCentricity
192
192
  object_not_found_exception(obj, nil)
193
193
  obj.native.attribute('volume')
194
194
  end
195
+
196
+ # Set the video currentTime property
197
+ #
198
+ # @param value [Float] time in seconds
199
+ # @example
200
+ # video_player.current_time = 1.5
201
+ #
202
+ def current_time=(value)
203
+ obj, = find_element
204
+ object_not_found_exception(obj, nil)
205
+ page.execute_script('arguments[0].currentTime = arguments[1]', obj, value)
206
+ end
207
+
208
+ # Play the video
209
+ #
210
+ # @example
211
+ # video_player.play
212
+ #
213
+ def play
214
+ obj, = find_element
215
+ object_not_found_exception(obj, nil)
216
+ page.execute_script('arguments[0].play()', obj)
217
+ end
218
+
219
+ # Pause the video
220
+ #
221
+ # @example
222
+ # video_player.pause
223
+ #
224
+ def pause
225
+ obj, = find_element
226
+ object_not_found_exception(obj, nil)
227
+ page.execute_script('arguments[0].pause()', obj)
228
+ end
195
229
  end
196
230
  end
@@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
30
30
 
31
31
  spec.add_development_dependency 'bundler', '~> 1.5'
32
32
  spec.add_development_dependency 'rake'
33
+ spec.add_development_dependency 'virtus'
33
34
 
34
35
  spec.add_runtime_dependency 'appium_lib'
35
36
  spec.add_runtime_dependency 'browserstack-local'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testcentricity_web
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.1
4
+ version: 3.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - A.J. Mrozinski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-30 00:00:00.000000000 Z
11
+ date: 2018-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: virtus
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: appium_lib
43
57
  requirement: !ruby/object:Gem::Requirement