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.
- checksums.yaml +7 -0
- data/env.rb +24 -0
- data/installer/extconf.rb +62 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin.rb +23 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/action.rb +157 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/application.rb +312 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/attribute.rb +300 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/behaviour.rb +214 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/configure_behaviour.rb +317 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/cute_cpu.rb +145 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/cute_gpu.rb +147 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/cute_mem.rb +142 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/cute_pwr.rb +146 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/events.rb +192 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/file_transfer.rb +375 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/find.rb +82 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/fixture.rb +214 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/fps.rb +189 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/gesture.rb +1039 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/infologger.rb +767 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/key_press.rb +166 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/locale_db.rb +157 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/method.rb +112 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/multitouch.rb +474 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/os.rb +100 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/qt_api_method.rb +148 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/record.rb +134 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/screen_capture.rb +279 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/settings.rb +302 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/sut.rb +840 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/synchronization.rb +257 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/treewidgetitemcolumn.rb +117 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/type_text.rb +97 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/view_item.rb +97 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/webkit.rb +272 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/widget.rb +877 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/action.rb +30 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/configure_command.rb +38 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/drag.rb +44 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/find_object.rb +67 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/group.rb +44 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/infologger_command.rb +38 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/qt.rb +171 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/tap.rb +54 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/version.rb +34 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/commands/widget.rb +199 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/agent.rb +54 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/application.rb +192 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/configure_command.rb +53 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/find_object.rb +48 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/fixture.rb +65 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/group.rb +57 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/infologger_command.rb +53 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/key_sequence.rb +93 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/screen_capture.rb +53 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/tap.rb +62 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/version.rb +46 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/controllers/widget.rb +98 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/plugin.rb +200 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/sut/adapter.rb +466 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/sut/communication.rb +185 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/sut/controller.rb +69 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/find_object_generator.rb +287 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/fixture_parameter.rb +77 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/message_composer.rb +370 -0
- data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/util/widget.rb +79 -0
- data/lib/testability-driver-qt-sut-plugin.rb +24 -0
- data/xml/behaviour/qt.xml +845 -0
- data/xml/defaults/sut_qt.xml +9 -0
- data/xml/keymap/qt.xml +321 -0
- data/xml/keymap/win.xml +174 -0
- data/xml/template/qt.xml +141 -0
- metadata +127 -0
data/lib/testability-driver-plugins/testability-driver-qt-sut-plugin/behaviours/synchronization.rb
ADDED
@@ -0,0 +1,257 @@
|
|
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
|
+
# Synchronization specific behaviours
|
26
|
+
#
|
27
|
+
# == behaviour
|
28
|
+
# QtSynchronization
|
29
|
+
#
|
30
|
+
# == requires
|
31
|
+
# testability-driver-qt-sut-plugin
|
32
|
+
#
|
33
|
+
# == input_type
|
34
|
+
# touch
|
35
|
+
#
|
36
|
+
# == sut_type
|
37
|
+
# QT
|
38
|
+
#
|
39
|
+
# == sut_version
|
40
|
+
# *
|
41
|
+
#
|
42
|
+
# == objects
|
43
|
+
# *
|
44
|
+
#
|
45
|
+
module Synchronization
|
46
|
+
|
47
|
+
include MobyBehaviour::QT::Behaviour
|
48
|
+
|
49
|
+
class SignalNotEmittedException < RuntimeError
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
class EventNotReceivedException < RuntimeError
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
class EventsEnabledException < RuntimeError
|
58
|
+
end
|
59
|
+
|
60
|
+
# == description
|
61
|
+
# Synchronizes script execution to a signal. Test script execution is stopped until the expected signal is emitted or the timeout occurs.
|
62
|
+
# If no signals of the given type are found before the timeout an error is raised.\n
|
63
|
+
# \n
|
64
|
+
# [b]NOTE:[/b] Using wait_for_signal will reset and clear any previously set signal listening status.
|
65
|
+
# == arguments
|
66
|
+
# signal_timeout
|
67
|
+
# Fixnum
|
68
|
+
# description: Timeout, in seconds. A timeout of zero means that the signal must have been listened to and emitted before this method is called.
|
69
|
+
# example: 60
|
70
|
+
#
|
71
|
+
# signal_name
|
72
|
+
# String
|
73
|
+
# description: Name of the signal that is to be emitted.
|
74
|
+
# example: "clicked()"
|
75
|
+
#
|
76
|
+
# params
|
77
|
+
# Hash
|
78
|
+
# description: Optional parameters for wait for signal
|
79
|
+
# example: "{:retry_timeout => 10, :retry_interval => 0.1}"
|
80
|
+
# &block
|
81
|
+
# Proc
|
82
|
+
# description: Optional code block to be executed while listening signals
|
83
|
+
# example: -
|
84
|
+
#
|
85
|
+
# == returns
|
86
|
+
# NilClass
|
87
|
+
# description: -
|
88
|
+
# example: -
|
89
|
+
#
|
90
|
+
# == exceptions
|
91
|
+
# SignalNotEmittedException
|
92
|
+
# description: The expected signal was not emitted before the timeout was reached.
|
93
|
+
#
|
94
|
+
# ArgumentError
|
95
|
+
# description: signal_name was not a valid String or signal_timeout was not a non negative Integer
|
96
|
+
#
|
97
|
+
def wait_for_signal( signal_timeout, signal_name, params = nil, &block )
|
98
|
+
|
99
|
+
signal_timeout.check_type Integer, 'wrong argument type $1 for signal timeout (expected $2)'
|
100
|
+
#raise ArgumentError.new("The timeout argument was of wrong type: expected 'Integer' was '%s'" % signal_timeout.class ) unless signal_timeout.kind_of?( Integer )
|
101
|
+
|
102
|
+
signal_timeout.not_negative 'signal timeout value $1 cannot be negative'
|
103
|
+
#raise ArgumentError.new("The timeout argument had a value of '%s', it must be a non negative Integer.'" % signal_timeout ) unless signal_timeout >= 0
|
104
|
+
|
105
|
+
|
106
|
+
signal_name.check_type String, 'wrong argument type $1 for signal name (expected $2)'
|
107
|
+
#raise ArgumentError.new("The signal name argument was of wrong type: expected 'String' was '%s'" % signal_name.class ) unless signal_name.kind_of?( String )
|
108
|
+
|
109
|
+
signal_name.not_empty 'signal name cannot be empty'
|
110
|
+
#raise ArgumentError.new("The signal name argument must not be an empty String.") unless !signal_name.empty?
|
111
|
+
|
112
|
+
params.check_type [ Hash, NilClass ], 'wrong argument type $1 for signal parameters (expected $2)'
|
113
|
+
|
114
|
+
# enable signal listening
|
115
|
+
fixture( 'signal', 'enable_signal', :signal => signal_name )
|
116
|
+
|
117
|
+
# execute code block if any given
|
118
|
+
begin
|
119
|
+
|
120
|
+
if params.kind_of?( Hash ) && params.has_key?( :retry_timeout )
|
121
|
+
|
122
|
+
MobyUtil::Retryable.until( :timeout => params[:retry_timeout], :interval => params[:retry_interval], :exception => SignalNotEmittedException) {
|
123
|
+
|
124
|
+
do_wait_signal(signal_timeout, signal_name, &block)
|
125
|
+
|
126
|
+
}
|
127
|
+
|
128
|
+
else
|
129
|
+
|
130
|
+
do_wait_signal(signal_timeout, signal_name, &block)
|
131
|
+
|
132
|
+
end
|
133
|
+
|
134
|
+
ensure
|
135
|
+
|
136
|
+
begin
|
137
|
+
fixture( "signal", "remove_signals" )
|
138
|
+
rescue Exception => e
|
139
|
+
$logger.warning "Fixture removal failed. Message received: #{e.message}"
|
140
|
+
end
|
141
|
+
|
142
|
+
end
|
143
|
+
|
144
|
+
nil
|
145
|
+
|
146
|
+
end # wait_for_signal
|
147
|
+
|
148
|
+
# == description
|
149
|
+
# Ensure that an event is fired into the target element
|
150
|
+
#
|
151
|
+
# [b]NOTE:[/b] Limitations:
|
152
|
+
# enable_events can not be enabled. multitouch operations are not supported.
|
153
|
+
#
|
154
|
+
# == arguments
|
155
|
+
# params
|
156
|
+
# Hash
|
157
|
+
# description: Arguments hash, see below
|
158
|
+
# example: Optional paramaters, see table params below.
|
159
|
+
#
|
160
|
+
#
|
161
|
+
# &block
|
162
|
+
# Proc
|
163
|
+
# description: Code block that triggers the event
|
164
|
+
# example: @app.Button.tap
|
165
|
+
#
|
166
|
+
# == tables
|
167
|
+
# params
|
168
|
+
# title: Hash argument params
|
169
|
+
# description: Valid keys for argument tap_params as hash
|
170
|
+
# |Key|Description|Type|Example|Default|
|
171
|
+
# |:retry_interval|Time between retries if the event is not received|Float|2|1|
|
172
|
+
# |:retry_timeout|Timeout for retry cycle|Integer|5|30|
|
173
|
+
# |:sleep_time|Sleep time before fetching events from client|Foat|0.4|0.2|
|
174
|
+
#
|
175
|
+
# == returns
|
176
|
+
# NilClass
|
177
|
+
# description: -
|
178
|
+
# example: -
|
179
|
+
#
|
180
|
+
# == exceptions
|
181
|
+
# EventsEnabledException
|
182
|
+
# description: enable_events is enabled. Event monitoring can not be enabled at the same time
|
183
|
+
#
|
184
|
+
# EventNotReceivedException
|
185
|
+
# description: Target object did not received any events defined
|
186
|
+
#
|
187
|
+
def ensure_event(params = nil, &block)
|
188
|
+
|
189
|
+
raise EventsEnabledException.new("enable_events is used - ensure_events can not be Used at the same time.") if @@_events_enabled
|
190
|
+
raise ArgumentError.new("Must be called to TestObject" ) unless kind_of? MobyBase::TestObject
|
191
|
+
|
192
|
+
retry_timeout = (params.nil? || params[:retry_timeout].nil?) ? 30 : params[:retry_timeout]
|
193
|
+
retry_interval = (params.nil? || params[:retry_interval].nil?) ? 1 : params[:retry_interval]
|
194
|
+
sleep_time = (params.nil? || params[:sleep_time].nil?) ? 0.2 : params[:sleep_time]
|
195
|
+
|
196
|
+
events = ['MouseButtonPress,TouchBegin,GraphicsSceneMousePress,KeyPress']
|
197
|
+
if params && params[:events]
|
198
|
+
events = params[:events]
|
199
|
+
end
|
200
|
+
app = get_application
|
201
|
+
begin
|
202
|
+
app.enable_events(events, {"track_id" => id.to_s})
|
203
|
+
|
204
|
+
MobyUtil::Retryable.until(:timeout => retry_timeout,:interval => retry_interval, :exception => EventNotReceivedException) {
|
205
|
+
block.call if block_given?
|
206
|
+
sleep sleep_time
|
207
|
+
ev = app.get_events
|
208
|
+
begin
|
209
|
+
@sut.state_object(ev).events.attribute('trackedFound')
|
210
|
+
rescue MobyBase::AttributeNotFoundError
|
211
|
+
$stderr.puts "Warning: Operation not received by object #{id} : #{self.name}. Retrying"
|
212
|
+
raise EventNotReceivedException.new("No event received during call")
|
213
|
+
end
|
214
|
+
}
|
215
|
+
ensure
|
216
|
+
app.disable_events
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
private
|
221
|
+
|
222
|
+
def do_wait_signal(signal_timeout, signal_name, &block)
|
223
|
+
|
224
|
+
timeout_deadline = ( Time.now + signal_timeout )
|
225
|
+
|
226
|
+
signal_found = false
|
227
|
+
|
228
|
+
block.call if block_given?
|
229
|
+
|
230
|
+
while( Time.now < timeout_deadline && !signal_found )
|
231
|
+
|
232
|
+
begin
|
233
|
+
|
234
|
+
result = fixture( 'signal', 'get_signal' )
|
235
|
+
|
236
|
+
signals_xml = MobyUtil::XML.parse_string( result )
|
237
|
+
|
238
|
+
_signal_found_xml, unused_rule = @test_object_adapter.get_objects( signals_xml, { :type => 'QtSignal', :name => signal_name }, true )
|
239
|
+
|
240
|
+
signal_found = true unless _signal_found_xml.empty?
|
241
|
+
|
242
|
+
end # begin
|
243
|
+
|
244
|
+
end # while
|
245
|
+
|
246
|
+
raise SignalNotEmittedException, "The signal #{ signal_name } was not emitted within #{ signal_timeout } seconds." unless signal_found
|
247
|
+
|
248
|
+
end
|
249
|
+
|
250
|
+
# enable hooking for performance measurement & debug logging
|
251
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
252
|
+
|
253
|
+
end # Synchronization
|
254
|
+
|
255
|
+
end # QT
|
256
|
+
|
257
|
+
end # MobyBehaviour
|
@@ -0,0 +1,117 @@
|
|
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 MobyBehaviour
|
23
|
+
|
24
|
+
module QT
|
25
|
+
|
26
|
+
# == description
|
27
|
+
# TreeWidgetItemColumn specific behaviours
|
28
|
+
#
|
29
|
+
# == behaviour
|
30
|
+
# QtTreeWidgetItemColumn
|
31
|
+
#
|
32
|
+
# == requires
|
33
|
+
# testability-driver-qt-sut-plugin
|
34
|
+
#
|
35
|
+
# == input_type
|
36
|
+
# *
|
37
|
+
#
|
38
|
+
# == sut_type
|
39
|
+
# QT
|
40
|
+
#
|
41
|
+
# == sut_version
|
42
|
+
# *
|
43
|
+
#
|
44
|
+
# == objects
|
45
|
+
# TreeWidgetItemColumn
|
46
|
+
#
|
47
|
+
module TreeWidgetItemColumn
|
48
|
+
|
49
|
+
include MobyBehaviour::QT::Behaviour
|
50
|
+
|
51
|
+
# == description
|
52
|
+
# Sets the check state of the item in QTreeWidgetItemColumn.\n
|
53
|
+
#
|
54
|
+
# == arguments
|
55
|
+
# new_state
|
56
|
+
# Integer
|
57
|
+
# description: State of checkable item, see supported values in [link="#check_state_enums"]table[/link] below
|
58
|
+
# example: 0
|
59
|
+
#
|
60
|
+
# == returns
|
61
|
+
# NilClass
|
62
|
+
# description: -
|
63
|
+
# example: -
|
64
|
+
#
|
65
|
+
# == tables
|
66
|
+
# check_state_enums
|
67
|
+
# title: Supported item states (Qt 4.7)
|
68
|
+
# description: See Qt documentation for allowed values to QT::CheckState
|
69
|
+
# |Enum|Value|Description|
|
70
|
+
# |Qt::Unchecked|0|The item is unchecked.|
|
71
|
+
# |Qt::PartiallyChecked|1|The item is partially checked.|
|
72
|
+
# |Qt::Checked|2|The item is checked.|
|
73
|
+
#
|
74
|
+
# == returns
|
75
|
+
def check_state( new_state )
|
76
|
+
|
77
|
+
ret = nil
|
78
|
+
|
79
|
+
begin
|
80
|
+
|
81
|
+
raise ArgumentError.new( "new_state must be an integer. Check qt docs for allowed values (Qt::CheckState." ) unless new_state.kind_of?(Integer)
|
82
|
+
|
83
|
+
command = MobyCommand::WidgetCommand.new
|
84
|
+
|
85
|
+
command.set_object_id(attribute('parentWidget'))
|
86
|
+
|
87
|
+
command.application_id(get_application_id)
|
88
|
+
command.object_type(:Standard)
|
89
|
+
command.command_name('CheckState')
|
90
|
+
|
91
|
+
command.set_event_type( sut_parameters[ :event_type, "0" ] )
|
92
|
+
|
93
|
+
params = {:state => new_state, :column => attribute('column'), :item => attribute('parentItem')}
|
94
|
+
|
95
|
+
command.set_event_type( sut_parameters[ :event_type, "0" ] )
|
96
|
+
|
97
|
+
command.command_params(params)
|
98
|
+
@sut.execute_command(command)
|
99
|
+
|
100
|
+
rescue Exception => e
|
101
|
+
|
102
|
+
$logger.behaviour "FAIL;Failed select"#{identity};drag;"
|
103
|
+
raise e
|
104
|
+
|
105
|
+
end
|
106
|
+
|
107
|
+
$logger.behaviour "PASS;Operation select executed successfully"#{identity};drag;"
|
108
|
+
ret
|
109
|
+
|
110
|
+
end
|
111
|
+
|
112
|
+
# enable hooking for performance measurement & debug logging
|
113
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
114
|
+
end
|
115
|
+
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,97 @@
|
|
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 MobyBehaviour
|
23
|
+
|
24
|
+
module QT
|
25
|
+
|
26
|
+
# == description
|
27
|
+
# TypeText specific behaviours
|
28
|
+
#
|
29
|
+
# == behaviour
|
30
|
+
# QtTypeText
|
31
|
+
#
|
32
|
+
# == requires
|
33
|
+
# testability-driver-qt-sut-plugin
|
34
|
+
#
|
35
|
+
# == input_type
|
36
|
+
# *
|
37
|
+
#
|
38
|
+
# == sut_type
|
39
|
+
# QT
|
40
|
+
#
|
41
|
+
# == sut_version
|
42
|
+
# *
|
43
|
+
#
|
44
|
+
# == objects
|
45
|
+
# *
|
46
|
+
#
|
47
|
+
module TypeText
|
48
|
+
|
49
|
+
include MobyBehaviour::QT::Behaviour
|
50
|
+
|
51
|
+
# == description
|
52
|
+
# Write text on to a widget (e.g QLineEdit) as if it was typed by user
|
53
|
+
# \n
|
54
|
+
# == arguments
|
55
|
+
# text
|
56
|
+
# String
|
57
|
+
# description: Text to type
|
58
|
+
# example: "abc"
|
59
|
+
#
|
60
|
+
# == returns
|
61
|
+
# NilClass
|
62
|
+
# description: -
|
63
|
+
# example: -
|
64
|
+
#
|
65
|
+
# == exceptions
|
66
|
+
# Exception
|
67
|
+
# description: No special exceptions, may throw any exception
|
68
|
+
def type_text( text )
|
69
|
+
ret = nil
|
70
|
+
|
71
|
+
begin
|
72
|
+
command = command_params #in qt_behaviour
|
73
|
+
command.command_name('TypeText')
|
74
|
+
command.command_value(text)
|
75
|
+
@sut.execute_command(command)
|
76
|
+
sleep 0.2
|
77
|
+
|
78
|
+
rescue Exception => e
|
79
|
+
|
80
|
+
$logger.behaviour "FAIL;Failed type_text with text \"#{text}\".;#{identity};type_text;"
|
81
|
+
raise e
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
$logger.behaviour "PASS;Operation type_text executed successfully with text \"#{text}\".;#{identity};type_text;"
|
86
|
+
|
87
|
+
ret
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
# enable hooking for performance measurement & debug logging
|
92
|
+
TDriver::Hooking.hook_methods( self ) if defined?( TDriver::Hooking )
|
93
|
+
|
94
|
+
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|