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,147 @@
1
+ ############################################################################
2
+ ##
3
+ ## Copyright (C) 2017 Link Motion Oy
4
+ ## Author(s): Juhapekka Piiroinen <juhapekka.piiroinen@link-motion.com>
5
+ ##
6
+ ## All rights reserved.
7
+ ## Contact: Link Motion (info@link-motion.com)
8
+ ##
9
+ ## This file is part of CuteDriver.
10
+ ##
11
+ ## This library is free software; you can redistribute it and/or
12
+ ## modify it under the terms of the GNU Lesser General Public
13
+ ## License version 2.1 as published by the Free Software Foundation
14
+ ## and appearing in the file LICENSE.LGPL included in the packaging
15
+ ## of this file.
16
+ ##
17
+ ############################################################################
18
+
19
+ module MobyBehaviour
20
+
21
+ module QT
22
+
23
+ # == description
24
+ #
25
+ # == behaviour
26
+ # QtGpu
27
+ #
28
+ # == requires
29
+ # testability-driver-qt-sut-plugin
30
+ #
31
+ # == input_type
32
+ # *
33
+ #
34
+ # == sut_type
35
+ # QT
36
+ #
37
+ # == sut_version
38
+ # *
39
+ #
40
+ # == objects
41
+ # *
42
+ #
43
+ module Gpu
44
+
45
+ include MobyBehaviour::QT::Behaviour
46
+
47
+ # == description
48
+ # Start collecting GPU usage per second data for the app.
49
+ #
50
+ # == returns
51
+ # NilClass
52
+ # description: -
53
+ # example: -
54
+ #
55
+ # == exceptions
56
+ # ArgumentError
57
+ # description: In case the given parameters are not valid.
58
+ #
59
+ def start_gpu_measurement
60
+
61
+ begin
62
+
63
+ log_gpu_mem(:interval => 1, :filePath => '/tmp')
64
+
65
+ rescue Exception
66
+
67
+ $logger.behaviour "FAIL;Failed start_gpu_mem_measurement.;#{ identity };start_gpu_mem_measurement;"
68
+ raise
69
+
70
+ end
71
+
72
+ $logger.behaviour "PASS;Operation start_gpu_mem_measurement executed successfully.;#{ identity };start_gpu_mem_measurement;"
73
+
74
+ nil
75
+
76
+ end
77
+
78
+ # == description
79
+ # Stop collecting GPU usage data for the object.
80
+ #
81
+ # == returns
82
+ # Array
83
+ # description: An Array of GPU entries. Each entry is a hash table that contains the value and time stamp {value => 42.00, usedMem => 42.00, freeMem => 12.34, totalMem => 43.21, processPrivateMem => 32.14, processSharedMem => 23.41 time_stamp => 06:49:42.259}
84
+ # example: [{value => 42.0, usedMem => 42.0, freeMem => 123.0, totalMem => 256.0, processPrivateMem => 12.0, processSharedMem => 32.0, time_stamp => 06:49:42.259}, {value => 32.0, usedMem => 42.0, freeMem => 123.0, totalMem => 256.0, processPrivateMem => 12.0, processSharedMem => 32.0, time_stamp => 06:49:43.259}]
85
+ #
86
+ # == exceptions
87
+ # ArgumentError
88
+ # description: In case the given parameters are not valid.
89
+ #
90
+ def stop_gpu_measurement
91
+
92
+ begin
93
+
94
+ results = parse_results_gpu( stop_gpu_log() )
95
+
96
+ rescue Exception
97
+
98
+ $logger.behaviour "FAIL;Failed stop_gpu_measurement.;#{ identity };stop_gpu_measurement;"
99
+
100
+ raise
101
+
102
+ end
103
+
104
+ $logger.behaviour "PASS;Operation stop_gpu_measurement executed successfully.;#{ identity };stop_gpu_measurement;"
105
+
106
+ results
107
+
108
+ end
109
+
110
+
111
+ private
112
+
113
+ def parse_results_gpu( results_xml )
114
+ state_object = @sut.state_object( results_xml )
115
+
116
+ results = []
117
+
118
+ count = state_object.logData.attribute( 'entryCount' ).to_i
119
+
120
+ for i in 0...count
121
+ totalMem = state_object.logEntry(:id => i.to_s).attribute('totalMem').to_f
122
+ usedMem = state_object.logEntry(:id => i.to_s).attribute('usedMem').to_f
123
+ freeMem = state_object.logEntry(:id => i.to_s).attribute('freeMem').to_f
124
+ processPrivateMem = state_object.logEntry(:id => i.to_s).attribute('processPrivateMem').to_f
125
+ processSharedMem = state_object.logEntry(:id => i.to_s).attribute('processSharedMem').to_f
126
+
127
+ time_stamp = state_object.logEntry(:id => i.to_s).attribute('timeStamp')
128
+
129
+ entry = {:value => usedMem, :usedMem => usedMem, :freeMem => freeMem, :totalMem => totalMem, :processPrivateMem => processPrivateMem, :processSharedMem => processSharedMem, :time_stamp => time_stamp}
130
+
131
+ results.push(entry)
132
+
133
+ end
134
+
135
+ results
136
+
137
+ end
138
+
139
+ # enable hooking for performance measurement & debug logging
140
+ TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
141
+
142
+ end # Gpu
143
+
144
+ end # QT
145
+
146
+ end # MobyBase
147
+
@@ -0,0 +1,142 @@
1
+ ############################################################################
2
+ ##
3
+ ## Copyright (C) 2017 Link Motion Oy
4
+ ## Author(s): Juhapekka Piiroinen <juhapekka.piiroinen@link-motion.com>
5
+ ##
6
+ ## All rights reserved.
7
+ ## Contact: Link Motion (info@link-motion.com)
8
+ ##
9
+ ## This file is part of CuteDriver.
10
+ ##
11
+ ## This library is free software; you can redistribute it and/or
12
+ ## modify it under the terms of the GNU Lesser General Public
13
+ ## License version 2.1 as published by the Free Software Foundation
14
+ ## and appearing in the file LICENSE.LGPL included in the packaging
15
+ ## of this file.
16
+ ##
17
+ ############################################################################
18
+
19
+ module MobyBehaviour
20
+
21
+ module QT
22
+
23
+ # == description
24
+ #
25
+ # == behaviour
26
+ # QtMem
27
+ #
28
+ # == requires
29
+ # testability-driver-qt-sut-plugin
30
+ #
31
+ # == input_type
32
+ # *
33
+ #
34
+ # == sut_type
35
+ # QT
36
+ #
37
+ # == sut_version
38
+ # *
39
+ #
40
+ # == objects
41
+ # *
42
+ #
43
+ module Mem
44
+
45
+ include MobyBehaviour::QT::Behaviour
46
+
47
+ # == description
48
+ # Start collecting MEM usage per second data for the app.
49
+ #
50
+ # == returns
51
+ # NilClass
52
+ # description: -
53
+ # example: -
54
+ #
55
+ # == exceptions
56
+ # ArgumentError
57
+ # description: In case the given parameters are not valid.
58
+ #
59
+ def start_mem_measurement
60
+
61
+ begin
62
+
63
+ log_mem(:interval => 1, :filePath => '/tmp')
64
+
65
+ rescue Exception
66
+
67
+ $logger.behaviour "FAIL;Failed start_mem_measurement.;#{ identity };start_mem_measurement;"
68
+ raise
69
+
70
+ end
71
+
72
+ $logger.behaviour "PASS;Operation start_mem_measurement executed successfully.;#{ identity };start_mem_measurement;"
73
+
74
+ nil
75
+
76
+ end
77
+
78
+ # == description
79
+ # Stop collecting MEM usage data for the object.
80
+ #
81
+ # == returns
82
+ # Array
83
+ # description: An Array of MEM entries. Each entry is a hash table that contains the value and time stamp {value => 42.00, heapSize => 42.00, time_stamp => 06:49:42.259}
84
+ # example: [{value => 42.0, heapSize => 42.0, time_stamp => 06:49:42.259}, {value => 32.0, heapSize => 32.0, time_stamp => 06:49:43.259}]
85
+ #
86
+ # == exceptions
87
+ # ArgumentError
88
+ # description: In case the given parameters are not valid.
89
+ #
90
+ def stop_mem_measurement
91
+
92
+ begin
93
+
94
+ results = parse_results_mem( stop_mem_log() )
95
+
96
+ rescue Exception
97
+
98
+ $logger.behaviour "FAIL;Failed stop_mem_measurement.;#{ identity };stop_mem_measurement;"
99
+
100
+ raise
101
+
102
+ end
103
+
104
+ $logger.behaviour "PASS;Operation stop_mem_measurement executed successfully.;#{ identity };stop_mem_measurement;"
105
+
106
+ results
107
+
108
+ end
109
+
110
+
111
+ private
112
+
113
+ def parse_results_mem( results_xml )
114
+ state_object = @sut.state_object( results_xml )
115
+ results = []
116
+
117
+ count = state_object.logData.attribute( 'entryCount' ).to_i
118
+
119
+ for i in 0...count
120
+ heapSize = state_object.logEntry(:id => i.to_s).attribute('heapSize').to_i
121
+
122
+ time_stamp = state_object.logEntry(:id => i.to_s).attribute('timeStamp')
123
+
124
+ entry = {:value => heapSize, :heapSize => heapSize, :time_stamp => time_stamp}
125
+
126
+ results.push(entry)
127
+
128
+ end
129
+
130
+ results
131
+
132
+ end
133
+
134
+ # enable hooking for performance measurement & debug logging
135
+ TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
136
+
137
+ end # Mem
138
+
139
+ end # QT
140
+
141
+ end # MobyBase
142
+
@@ -0,0 +1,146 @@
1
+ ############################################################################
2
+ ##
3
+ ## Copyright (C) 2017 Link Motion Oy
4
+ ## Author(s): Juhapekka Piiroinen <juhapekka.piiroinen@link-motion.com>
5
+ ##
6
+ ## All rights reserved.
7
+ ## Contact: Link Motion (info@link-motion.com)
8
+ ##
9
+ ## This file is part of CuteDriver.
10
+ ##
11
+ ## This library is free software; you can redistribute it and/or
12
+ ## modify it under the terms of the GNU Lesser General Public
13
+ ## License version 2.1 as published by the Free Software Foundation
14
+ ## and appearing in the file LICENSE.LGPL included in the packaging
15
+ ## of this file.
16
+ ##
17
+ ############################################################################
18
+
19
+ module MobyBehaviour
20
+
21
+ module QT
22
+
23
+ # == description
24
+ #
25
+ # == behaviour
26
+ # QtPwr
27
+ #
28
+ # == requires
29
+ # testability-driver-qt-sut-plugin
30
+ #
31
+ # == input_type
32
+ # *
33
+ #
34
+ # == sut_type
35
+ # QT
36
+ #
37
+ # == sut_version
38
+ # *
39
+ #
40
+ # == objects
41
+ # *
42
+ #
43
+ module Pwr
44
+
45
+ include MobyBehaviour::QT::Behaviour
46
+
47
+ # == description
48
+ # Start collecting PWR usage per second data for the app.
49
+ #
50
+ # == returns
51
+ # NilClass
52
+ # description: -
53
+ # example: -
54
+ #
55
+ # == exceptions
56
+ # ArgumentError
57
+ # description: In case the given parameters are not valid.
58
+ #
59
+ def start_pwr_measurement
60
+
61
+ begin
62
+
63
+ log_pwr(:interval => 1, :filePath => '/tmp')
64
+
65
+ rescue Exception
66
+
67
+ $logger.behaviour "FAIL;Failed start_pwr_measurement.;#{ identity };start_pwr_measurement;"
68
+ raise
69
+
70
+ end
71
+
72
+ $logger.behaviour "PASS;Operation start_pwr_measurement executed successfully.;#{ identity };start_pwr_measurement;"
73
+
74
+ nil
75
+
76
+ end
77
+
78
+ # == description
79
+ # Stop collecting PWR usage data for the object.
80
+ #
81
+ # == returns
82
+ # Array
83
+ # description: An Array of PWR entries. Each entry is a hash table that contains the value and time stamp {value => 42.00, voltage => 32.00, current => 42.00, time_stamp => 06:49:42.259}
84
+ # example: [{value => 42.0, current => 42.0, voltage => 12.0, time_stamp => 06:49:42.259}, {value => 32.0, current => 32.0, voltage => 42.0, time_stamp => 06:49:43.259}]
85
+ #
86
+ # == exceptions
87
+ # ArgumentError
88
+ # description: In case the given parameters are not valid.
89
+ #
90
+ def stop_pwr_measurement
91
+
92
+ begin
93
+
94
+ results = parse_results_pwr( stop_pwr_log() )
95
+
96
+ rescue Exception
97
+
98
+ $logger.behaviour "FAIL;Failed stop_pwr_measurement.;#{ identity };stop_pwr_measurement;"
99
+
100
+ raise
101
+
102
+ end
103
+
104
+ $logger.behaviour "PASS;Operation stop_pwr_measurement executed successfully.;#{ identity };stop_pwr_measurement;"
105
+
106
+ results
107
+
108
+ end
109
+
110
+
111
+ private
112
+
113
+ def parse_results_pwr( results_xml )
114
+ state_object = @sut.state_object( results_xml )
115
+
116
+ results = []
117
+
118
+ count = state_object.logData.attribute( 'entryCount' ).to_i
119
+
120
+ for i in 0...count
121
+
122
+ value = state_object.logEntry(:id => i.to_s).attribute('current').to_f
123
+ current = state_object.logEntry(:id => i.to_s).attribute('current').to_f
124
+ voltage = state_object.logEntry(:id => i.to_s).attribute('voltage').to_f
125
+
126
+ time_stamp = state_object.logEntry(:id => i.to_s).attribute('timeStamp')
127
+
128
+ entry = {:value => value, :current => current, :voltage => voltage, :time_stamp => time_stamp}
129
+
130
+ results.push(entry)
131
+
132
+ end
133
+
134
+ results
135
+
136
+ end
137
+
138
+ # enable hooking for performance measurement & debug logging
139
+ TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
140
+
141
+ end # Pwr
142
+
143
+ end # QT
144
+
145
+ end # MobyBase
146
+
@@ -0,0 +1,192 @@
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 MobyBehaviour
21
+
22
+ module QT
23
+
24
+ # == description
25
+ # Events specific behaviours
26
+ #
27
+ # == behaviour
28
+ # QtEvents
29
+ #
30
+ # == requires
31
+ # testability-driver-qt-sut-plugin
32
+ #
33
+ # == input_type
34
+ # *
35
+ #
36
+ # == sut_type
37
+ # qt
38
+ #
39
+ # == sut_version
40
+ # *
41
+ #
42
+ # == objects
43
+ # *;application
44
+ #
45
+ module Events
46
+
47
+ include MobyBehaviour::QT::Behaviour
48
+
49
+ # == description
50
+ # Enable event listening. You can specify which events you want to listen for by including the names of
51
+ # those events separated by comma or integers if using user events. Use ALL if you want to listen for all
52
+ # events but be aware that there will be a lot of events.
53
+ # \n
54
+ # The events listened need to be sent the object to which the enabling is done for e.g. sut.button.enable_events('ALL')
55
+ # would listen to all events sent to the button. When disabling or getting the events the operation must be done to the same object.
56
+ #
57
+ # == arguments
58
+ # filter_array
59
+ # Array
60
+ # description: Array of the event named to listen
61
+ # example: ["Timer","MouseButtonPress","45677","67889"]
62
+ #
63
+ # params
64
+ # Hash
65
+ # description: -
66
+ # example: -
67
+ #
68
+ # == returns
69
+ # NilClass
70
+ # description: -
71
+ # example: -
72
+ #
73
+ # == exceptions
74
+ # Exception
75
+ # description: In case of an error
76
+ #
77
+ def enable_events(filter_array = nil, params = {})
78
+
79
+ begin
80
+
81
+ command = plugin_command #in qt_behaviour
82
+ command.command_name( 'EnableEvents' )
83
+ params_str = ''
84
+ filter_array.each {|value| params_str << value << ','} if filter_array
85
+ params['EventsToListen'] = params_str
86
+ command.command_params( params )
87
+ command.service( 'collectEvents' )
88
+ @sut.execute_command( command)
89
+ @@_events_enabled = true
90
+
91
+ rescue
92
+
93
+ $logger.behaviour "FAIL;Failed enable_events with refresh \"#{filter_array.to_s}\".;#{ identity };enable_events;"
94
+ raise $!
95
+
96
+ end
97
+
98
+ $logger.behaviour "PASS;Operation enable_events executed successfully with refresh \"#{ filter_array.to_s }\".;#{ identity };enable_events;"
99
+
100
+ nil
101
+
102
+ end
103
+
104
+ # == description
105
+ # Disables event listening on the target
106
+ #
107
+ # == returns
108
+ # NilClass
109
+ # description: -
110
+ # example: -
111
+ #
112
+ # == exceptions
113
+ # Exception
114
+ # description: In case of an error
115
+ #
116
+ def disable_events
117
+
118
+ begin
119
+
120
+ command = plugin_command #in qt_behaviour
121
+ command.command_name( 'DisableEvents' )
122
+ command.service( 'collectEvents' )
123
+ @sut.execute_command( command)
124
+ @@_events_enabled = false
125
+
126
+ rescue
127
+
128
+ $logger.behaviour "FAIL;Failed disable_events.;#{ identity };disable_events;"
129
+
130
+ raise $!
131
+
132
+ end
133
+
134
+ $logger.behaviour "PASS;Operation disable_events executed successfully.;#{ identity };disable_events;"
135
+
136
+ nil
137
+
138
+ end
139
+
140
+ # == description
141
+ # Gets event list occured since the enabling of events. The format of the XML string is the same as with the UI state.
142
+ # \n
143
+ #
144
+ # [b]NOTE:[/b]
145
+ # It is highly recommended to create a StateObject with result XML and access the data through appropriate API.
146
+ # \n
147
+ #
148
+ # See state_object method for more details.
149
+ #
150
+ # == returns
151
+ # String
152
+ # description: XML containing the details of the events logger since enable_events
153
+ # example: -
154
+ #
155
+ # == exceptions
156
+ # Exception
157
+ # description: In case of an error
158
+ #
159
+ def get_events
160
+
161
+ ret = nil
162
+
163
+ begin
164
+
165
+ command = plugin_command(true) #in qt_behaviour
166
+ command.command_name( 'GetEvents' )
167
+ command.service( 'collectEvents' )
168
+ ret = @sut.execute_command( command)
169
+ # TODO: how to parse the output?
170
+
171
+ rescue
172
+
173
+ $logger.behaviour "FAIL;Failed get_events.;#{ identity };get_events;"
174
+
175
+ raise $!
176
+
177
+ end
178
+
179
+ $logger.behaviour "PASS;Operation get_events executed successfully.;#{ identity };get_events;"
180
+
181
+ ret
182
+
183
+ end
184
+
185
+ # enable hooking for performance measurement & debug logging
186
+ TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
187
+
188
+ end # EventsBehaviour
189
+
190
+ end
191
+
192
+ end # MobyBase