cutedriver-qt-sut-plugin 2.0.0.20210120165900

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.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/env.rb +24 -0
  3. data/installer/extconf.rb +62 -0
  4. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin.rb +23 -0
  5. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/action.rb +157 -0
  6. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/application.rb +312 -0
  7. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/attribute.rb +300 -0
  8. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/behaviour.rb +214 -0
  9. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/configure_behaviour.rb +317 -0
  10. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/cute_cpu.rb +145 -0
  11. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/cute_gpu.rb +147 -0
  12. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/cute_mem.rb +142 -0
  13. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/cute_pwr.rb +146 -0
  14. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/events.rb +192 -0
  15. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/file_transfer.rb +375 -0
  16. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/find.rb +82 -0
  17. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/fixture.rb +214 -0
  18. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/fps.rb +189 -0
  19. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/gesture.rb +1039 -0
  20. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/infologger.rb +767 -0
  21. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/key_press.rb +166 -0
  22. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/locale_db.rb +157 -0
  23. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/method.rb +112 -0
  24. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/multitouch.rb +474 -0
  25. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/os.rb +100 -0
  26. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/qt_api_method.rb +148 -0
  27. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/record.rb +134 -0
  28. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/screen_capture.rb +279 -0
  29. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/settings.rb +302 -0
  30. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/sut.rb +840 -0
  31. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/synchronization.rb +257 -0
  32. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/treewidgetitemcolumn.rb +117 -0
  33. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/type_text.rb +97 -0
  34. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/view_item.rb +97 -0
  35. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/webkit.rb +272 -0
  36. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/widget.rb +877 -0
  37. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/action.rb +30 -0
  38. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/configure_command.rb +38 -0
  39. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/drag.rb +44 -0
  40. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/find_object.rb +67 -0
  41. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/group.rb +44 -0
  42. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/infologger_command.rb +38 -0
  43. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/qt.rb +171 -0
  44. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/tap.rb +54 -0
  45. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/version.rb +34 -0
  46. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/widget.rb +199 -0
  47. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/agent.rb +54 -0
  48. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/application.rb +192 -0
  49. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/configure_command.rb +53 -0
  50. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/find_object.rb +48 -0
  51. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/fixture.rb +65 -0
  52. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/group.rb +57 -0
  53. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/infologger_command.rb +53 -0
  54. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/key_sequence.rb +93 -0
  55. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/screen_capture.rb +53 -0
  56. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/tap.rb +62 -0
  57. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/version.rb +46 -0
  58. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/widget.rb +98 -0
  59. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/plugin.rb +200 -0
  60. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/sut/adapter.rb +466 -0
  61. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/sut/communication.rb +185 -0
  62. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/sut/controller.rb +69 -0
  63. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/find_object_generator.rb +287 -0
  64. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/fixture_parameter.rb +77 -0
  65. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/message_composer.rb +370 -0
  66. data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/widget.rb +79 -0
  67. data/lib/testability-driver-qt-sut-plugin.rb +24 -0
  68. data/xml/behaviour/qt.xml +845 -0
  69. data/xml/defaults/sut_qt.xml +9 -0
  70. data/xml/keymap/qt.xml +321 -0
  71. data/xml/keymap/win.xml +174 -0
  72. data/xml/template/qt.xml +141 -0
  73. metadata +127 -0
@@ -0,0 +1,77 @@
1
+ ############################################################################
2
+ ##
3
+ ## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4
+ ## All rights reserved.
5
+ ## Contact: Nokia Corporation (testabilitydriver@nokia.com)
6
+ ##
7
+ ## This file is part of TDriver.
8
+ ##
9
+ ## If you have questions regarding the use of this file, please contact
10
+ ## Nokia at testabilitydriver@nokia.com .
11
+ ##
12
+ ## This library is free software; you can redistribute it and/or
13
+ ## modify it under the terms of the GNU Lesser General Public
14
+ ## License version 2.1 as published by the Free Software Foundation
15
+ ## and appearing in the file LICENSE.LGPL included in the packaging
16
+ ## of this file.
17
+ ##
18
+ ############################################################################
19
+
20
+
21
+
22
+ module MobyUtil
23
+
24
+ class FixtureParameter
25
+
26
+ attr_accessor :parameters
27
+
28
+ def initialize( *args )
29
+ @parameters = []
30
+ # accept array as multiple arguments, hash for one argument
31
+ args = [ [ args.first ] ] if args.size == 1 && args.first.kind_of?( Hash )
32
+ args.each{ | argument | add_parameter( argument.first ) }
33
+ end
34
+
35
+ def add_parameter( hash )
36
+
37
+ raise ArgumentError.new("Argument :value and :type must be defined. Actual hash: #{ hash.inspect }") unless hash.has_key?( :type ) and hash.has_key?( :value )
38
+
39
+ @parameters.push( hash )
40
+
41
+ end
42
+
43
+ def remove_parameter( index_or_range )
44
+
45
+ # value can be range or index, or array of ranges or indexes
46
+ @parameters.slice!( index_or_range )
47
+
48
+ end
49
+
50
+ def list_parameters
51
+
52
+ return @parameters.inspect
53
+
54
+ end
55
+
56
+ def to_s
57
+
58
+ Nokogiri::XML::Builder.new{
59
+
60
+ fixture_parameters{
61
+
62
+ parameters.each_index{ | index |
63
+
64
+ parameter( parameters[index].merge( :id => index) )
65
+
66
+ }
67
+
68
+ }
69
+
70
+ }.to_xml
71
+
72
+ end
73
+
74
+ end
75
+
76
+ end
77
+
@@ -0,0 +1,370 @@
1
+ ############################################################################
2
+ ##
3
+ ## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4
+ ## All rights reserved.
5
+ ## Contact: Nokia Corporation (testabilitydriver@nokia.com)
6
+ ##
7
+ ## This file is part of TDriver.
8
+ ##
9
+ ## If you have questions regarding the use of this file, please contact
10
+ ## Nokia at testabilitydriver@nokia.com .
11
+ ##
12
+ ## This library is free software; you can redistribute it and/or
13
+ ## modify it under the terms of the GNU Lesser General Public
14
+ ## License version 2.1 as published by the Free Software Foundation
15
+ ## and appearing in the file LICENSE.LGPL included in the packaging
16
+ ## of this file.
17
+ ##
18
+ ############################################################################
19
+
20
+ module MobyUtil
21
+
22
+ module MessageComposer
23
+
24
+ class TasCommands
25
+
26
+ # TODO: document me
27
+ def initialize( options = {} )
28
+
29
+ @command_attributes = options
30
+
31
+ @targets = []
32
+
33
+ end # initialize
34
+
35
+ # TODO: document me
36
+ def target( options = {} )
37
+
38
+ @targets << { :arguments => options, :objects => [], :commands => [] }
39
+
40
+ end # target
41
+
42
+ # TODO: document me
43
+ def targets
44
+
45
+ @targets
46
+
47
+ end # targets
48
+
49
+ def object( *arguments )
50
+
51
+ end
52
+
53
+ # TODO: document me
54
+ def command( *arguments )
55
+
56
+ command_hash = { :parameters => [] }
57
+
58
+ while arguments.count > 0
59
+
60
+ value = arguments.shift
61
+
62
+ if value.kind_of?( Hash )
63
+
64
+ command_hash[ :arguments ] = value
65
+
66
+ else
67
+
68
+ command_hash[ :value ] = value
69
+
70
+ end
71
+
72
+ end
73
+
74
+ @targets.last[ :commands ] << command_hash
75
+
76
+ end # command
77
+
78
+ # TODO: document me
79
+ def parameter( *arguments )
80
+
81
+ params_hash = {}
82
+
83
+ while arguments.count > 0
84
+
85
+ value = arguments.shift
86
+
87
+ if value.kind_of?( Hash )
88
+
89
+ params_hash[ :arguments ] = value
90
+
91
+ else
92
+
93
+ params_hash[ :value ] = value
94
+
95
+ end
96
+
97
+ end
98
+
99
+ @targets.last[ :commands ][ :parameters ] << params_hash
100
+
101
+ end # parameter
102
+
103
+ # TODO: document me
104
+ def to_xml
105
+
106
+ targets = targets_to_xml
107
+
108
+ if targets.length > 0
109
+
110
+ "<TasCommands #{ @command_attributes.to_attributes }>#{ targets }</TasCommands>"
111
+
112
+ else
113
+
114
+ "<TasCommands #{ @command_attributes.to_attributes } />"
115
+
116
+ end
117
+
118
+
119
+ end # to_xml
120
+
121
+ private
122
+
123
+ # TODO: document me
124
+ def targets_to_xml
125
+
126
+ @targets.collect do | target |
127
+
128
+ commands = target[ :commands ].collect do | command |
129
+
130
+ value = command[ :value ]
131
+
132
+ params = command[ :parameters ].collect do | parameter |
133
+
134
+ if parameter.has_key?( :value )
135
+
136
+ "<param #{ parameters[ :arguments ].to_attributes }>#{ parameters[ :value ] }</param>"
137
+
138
+ else
139
+
140
+ "<param #{ parameters[ :arguments ].to_attributes } />"
141
+
142
+ end
143
+
144
+ end.join
145
+
146
+ value = params if params.count > 0
147
+
148
+ unless value.nil?
149
+
150
+ "<Command #{ command[ :arguments ].to_attributes }>#{ command[ :value ] }</Command>"
151
+
152
+ else
153
+
154
+ "<Command #{ command[ :arguments ].to_attributes } />"
155
+
156
+ end
157
+
158
+ end
159
+
160
+ if commands.count > 0
161
+
162
+ commands.unshift("<Target #{ target[ :arguments ].to_attributes }></Target>")
163
+
164
+ else
165
+
166
+ commands.unshift("<Target #{ target[ :arguments ].to_attributes } />")
167
+
168
+ end
169
+
170
+ commands.join
171
+
172
+ end.join
173
+
174
+ end # targets_to_xml
175
+
176
+ end # TasCommands
177
+
178
+ def make_parametrized_message( service_details, command_name, params, command_params = {} )
179
+ service_details[:plugin_timeout] = $parameters[ @_sut.id ][ :qttas_plugin_timeout, 10000 ] if @_sut
180
+
181
+ Nokogiri::XML::Builder.new{
182
+ TasCommands( service_details ) {
183
+ Target( :TasId => "Application" ) {
184
+ Command( ( params || {} ).merge( :name => command_name ) ){
185
+ command_params.collect{ | name, value |
186
+ param( :name => name, :value => value )
187
+ }
188
+ }
189
+ }
190
+ }
191
+ }.to_xml
192
+
193
+ end
194
+
195
+ def hash_to_attributes( hash )
196
+
197
+ ( hash || {} ).collect{ | value | "#{ value.first }=\"#{ value.last }\"" }.join(" ")
198
+
199
+ end
200
+
201
+ def make_xml_message( service_details, command_name, params, command_value = nil )
202
+ service_details[:plugin_timeout] = $parameters[ @_sut.id ][ :qttas_plugin_timeout, 10000 ] if @_sut
203
+
204
+ =begin
205
+
206
+ # create message as string
207
+ #MobyUtil::MessageComposer::hash_to_attributes 140 0.00405100 0.00405100 0.010% 0.00002894
208
+ #MobyUtil::MessageComposer::make_xml_message 70 0.00762200 0.00357100 0.009% 0.00010889
209
+
210
+ "<TasCommands #{ hash_to_attributes( service_details ) }>" <<
211
+ "<Target TasId=\"Application\">" <<
212
+ "<Command name=\"#{ command_name }\" #{ hash_to_attributes( params ) }#{ command_value ? ">#{ command_value }</Command>" : " />" }" <<
213
+ "</Target>" <<
214
+ "</TasCommands>"
215
+
216
+ # vs.
217
+
218
+ # create message using builder
219
+ #MobyUtil::MessageComposer::make_xml_message 70 0.03611100 0.03611100 0.090% 0.00051587
220
+
221
+ # create message
222
+ MobyUtil::XML.build{
223
+ TasCommands( service_details ) {
224
+ Target( :TasId => "Application" ) {
225
+ Command( command_value || "", ( params || {} ).merge( :name => command_name ) )
226
+ }
227
+ }
228
+ }.to_xml
229
+
230
+ =end
231
+
232
+ # construct xml message as string; using builder is approx. 67% slower, see statistics above
233
+ "<TasCommands #{ hash_to_attributes( service_details ) }><Target TasId=\"Application\"><Command name=\"#{ command_name }\" #{ hash_to_attributes( params ) }#{ command_value ? ">#{ command_value }</Command>" : " />" }</Target></TasCommands>"
234
+
235
+ end
236
+
237
+ def make_fixture_message(fixture_plugin, params)
238
+ service_details[:plugin_timeout] = $parameters[ @_sut.id ][ :qttas_plugin_timeout, 10000 ] if @_sut
239
+
240
+ Nokogiri::XML::Builder.new{
241
+ TasCommands( :id => params[:application_id].to_s, :service => "fixture", :async => params[:async].to_s ) {
242
+ Target( :TasId => params[:object_id].to_s, :type => params[:object_type].to_s ) {
243
+ Command( :name => "Fixture", :plugin => fixture_plugin, :method => params[:command_name].to_s ) {
244
+ params[:parameters].collect{ | name, value |
245
+ param( :name => name, :value => value )
246
+ }
247
+ }
248
+ }
249
+ }
250
+ }.to_xml
251
+ end
252
+
253
+ def encode_string( source )
254
+ source = source.to_s
255
+ source.gsub!( '&', '&amp;' );
256
+ source.gsub!( '>', '&gt;' );
257
+ source.gsub!( '<', '&lt;' );
258
+ source.gsub!( '"', '&quot;' );
259
+ source.gsub!( '\'', '&apos;' );
260
+ source
261
+ end
262
+
263
+ def make_filters
264
+
265
+ params = {}
266
+
267
+ # get sut paramteres only once, store to local variable
268
+ sut_parameters = $parameters[ @_sut.id ]
269
+
270
+ params[ 'filterProperties' ] = $last_parameter if sut_parameters[ :filter_properties, nil ]
271
+ params[ 'pluginBlackList' ] = $last_parameter if sut_parameters[ :plugin_blacklist, nil ]
272
+ params[ 'pluginWhiteList' ] = $last_parameter if sut_parameters[ :plugin_whitelist, nil ]
273
+ params[ 'useViewCrop' ] = "true" if sut_parameters[ :use_crop_view, nil ]
274
+
275
+ case sut_parameters[ :filter_type, 'none' ]
276
+
277
+ when 'dynamic'
278
+
279
+ white_list = TDriver::AttributeFilter.filter_string
280
+ params['attributeWhiteList'] = white_list if white_list
281
+
282
+ when 'static'
283
+
284
+ params['attributeBlackList'] = $last_parameter if sut_parameters[ :attribute_blacklist, nil ]
285
+ params['attributeWhiteList'] = $last_parameter if sut_parameters[ :attribute_whitelist, nil ]
286
+
287
+ end
288
+
289
+ params
290
+
291
+ end
292
+
293
+ def state_message
294
+
295
+ app_details = { :service => 'uiState', :name => @_application_name, :id => @_application_uid }
296
+
297
+ app_details[ :applicationUid ] = @_refresh_args[ :applicationUid ] if @_refresh_args.include?( :applicationUid )
298
+
299
+ app_details[ :checksum ] = @_checksum unless @_checksum.nil?
300
+
301
+ params = @_flags || {}
302
+
303
+ case $parameters[ @_sut.id ][ :filter_type, 'none' ]
304
+
305
+ when 'none'
306
+
307
+ command_xml = make_xml_message( app_details, 'UiState', params )
308
+
309
+ when 'dynamic'
310
+
311
+ params[ :filtered ] = 'true'
312
+
313
+ command_xml = make_parametrized_message( app_details, 'UiState', params, make_filters )
314
+
315
+ else
316
+
317
+ command_xml = make_parametrized_message( app_details, 'UiState', params, make_filters )
318
+
319
+ end
320
+
321
+ command_xml
322
+
323
+ end
324
+
325
+ def run_message
326
+ #clone to not make changes permanent
327
+ arguments = $parameters[ @_sut.id ][ :application_start_arguments, "" ].clone
328
+ if @_arguments
329
+ arguments << "," unless arguments.empty?
330
+ arguments << @_arguments
331
+ end
332
+
333
+ parameters = {
334
+ 'application_path' => @_application_name,
335
+ 'arguments' => arguments,
336
+ 'environment' => @_environment,
337
+ 'directory' => @_working_directory,
338
+ 'events_to_listen' => @_events_to_listen,
339
+ 'signals_to_listen' => @_signals_to_listen,
340
+ 'start_command' => @_start_command
341
+ }
342
+
343
+ #set search
344
+ search_path = $parameters[ @_sut.id ][ :app_path, nil ]
345
+ parameters[:app_path] = search_path if search_path
346
+
347
+ make_xml_message({:service => 'startApplication'}, 'Run', parameters)
348
+ end
349
+
350
+ def close_message
351
+
352
+ sut_parameters = $parameters[ @_sut.id ]
353
+
354
+ parameters = {
355
+ 'uid' => @_application_uid,
356
+ 'kill' => ( @_flags || {} )[ :force_kill ] || sut_parameters[ :application_close_kill ],
357
+ 'wait_time' => sut_parameters[ :application_close_wait ]
358
+ }
359
+
360
+ make_xml_message({:service => 'closeApplication', :id => @_application_uid }, 'Close', parameters)
361
+ end
362
+
363
+ # enable hoo./base/test_object/factory.rb:king for performance measurement & debug logging
364
+ TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
365
+
366
+ end
367
+
368
+
369
+ end
370
+
@@ -0,0 +1,79 @@
1
+ ############################################################################
2
+ ##
3
+ ## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4
+ ## All rights reserved.
5
+ ## Contact: Nokia Corporation (testabilitydriver@nokia.com)
6
+ ##
7
+ ## This file is part of TDriver.
8
+ ##
9
+ ## If you have questions regarding the use of this file, please contact
10
+ ## Nokia at testabilitydriver@nokia.com.
11
+ ##
12
+ ## This library is free software; you can redistribute it and/or
13
+ ## modify it under the terms of the GNU Lesser General Public
14
+ ## License version 2.1 as published by the Free Software Foundation
15
+ ## and appearing in the file LICENSE.LGPL included in the packaging
16
+ ## of this file.
17
+ ##
18
+ ############################################################################
19
+
20
+
21
+ module MobyUtil
22
+
23
+ class Widget
24
+
25
+ # Common method, tap up or down
26
+ def self.tap_updown_object(tap_params, y, button, identity, command_name)
27
+ begin
28
+ behavior_name = command_name == 'MousePress' ? 'tap_down_object' : 'tap_up_object'
29
+ if tap_params.kind_of? Hash
30
+ x = tap_params[:x].nil? ? -1 : tap_params[:x]
31
+ y = tap_params[:y].nil? ? -1 : tap_params[:y]
32
+ button = tap_params[:button].nil? ? (:Left) : tap_params[:button]
33
+ use_tap_screen = tap_params[:use_tap_screen] == true ? 'true' :
34
+ $parameters[ @sut.id][ :use_tap_screen, 'false']
35
+ else
36
+ x = tap_params
37
+ use_tap_screen = $parameters[ @sut.id ][ :use_tap_screen, 'false' ]
38
+ end
39
+
40
+ raise ArgumentError.new( "Coordinate x:#{x} x_abs:#{x} outside object." ) unless (x <= attribute('width').to_i and x >= 0)
41
+ raise ArgumentError.new( "Coordinate y:#{y} y_abs:#{y} outside object." ) unless (y <= attribute('height').to_i and y >= 0)
42
+
43
+ command = command_params #in qt_behaviour
44
+ command.command_name(command_name)
45
+
46
+ x_tap = attribute('x_absolute').to_i + x.to_i
47
+ y_tap = attribute('y_absolute').to_i + y.to_i
48
+
49
+ mouse_move = @sut.parameter[:in_tap_move_pointer]
50
+ mouse_move = 'false' unless mouse_move
51
+
52
+ params = { 'x'=>x_tap.to_s, 'y' => y_tap.to_s, 'button' => @@_buttons_map[button], 'mouseMove'=>mouse_move }
53
+ # use coordinates
54
+ params['useCoordinates'] = 'true'
55
+ params['useTapScreen'] = use_tap_screen
56
+ command.command_params(params)
57
+
58
+ @sut.execute_command(command)
59
+
60
+ rescue Exception => e
61
+
62
+ $logger.behaviour "FAIL;Failed #{behavior_name} with x \"#{x}\", y \"#{y}\", button \"#{button.to_s}\".;#{identity};#{behavior_name};"
63
+ raise e
64
+
65
+ end
66
+
67
+ $logger.behaviour "PASS;Operation #{behavior_name} executed successfully with x \"#{x}\", y \"#{y}\", button \"#{button.to_s}\".;#{identity};#{behavior_name};"
68
+
69
+ nil
70
+
71
+
72
+
73
+ end
74
+
75
+
76
+ end
77
+
78
+ end
79
+