rautomation 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/History.rdoc +7 -1
- data/VERSION +1 -1
- data/ext/UiaDll/RAutomation.UIA/Controls/Clicker.cs +59 -0
- data/ext/UiaDll/RAutomation.UIA/Controls/SelectList.cs +76 -0
- data/ext/UiaDll/RAutomation.UIA/Controls/Spinner.cs +46 -0
- data/ext/UiaDll/RAutomation.UIA/Controls/TabControl.cs +54 -0
- data/ext/UiaDll/RAutomation.UIA/Controls/TableControl.cs +87 -0
- data/ext/UiaDll/RAutomation.UIA/Controls/TextControl.cs +50 -0
- data/ext/UiaDll/RAutomation.UIA/Expander.cs +59 -0
- data/ext/UiaDll/RAutomation.UIA/Extensions/Element.cs +108 -0
- data/ext/UiaDll/RAutomation.UIA/Extensions/Enumerable.cs +63 -0
- data/ext/UiaDll/RAutomation.UIA/Extensions/Property.cs +27 -0
- data/ext/UiaDll/RAutomation.UIA/Properties/AssemblyInfo.cs +36 -0
- data/ext/UiaDll/RAutomation.UIA/Properties/AutomationProperties.cs +18 -0
- data/ext/UiaDll/RAutomation.UIA/RAutomation.UIA.csproj +68 -0
- data/ext/UiaDll/UiaDll.sln +24 -2
- data/ext/UiaDll/UiaDll/ControlMethods.cpp +6 -5
- data/ext/UiaDll/UiaDll/DynamicAssemblyResolver.cpp +24 -0
- data/ext/UiaDll/UiaDll/DynamicAssemblyResolver.h +16 -0
- data/ext/UiaDll/UiaDll/{AutomationFinder.cpp → Locator.cpp} +25 -15
- data/ext/UiaDll/UiaDll/{AutomationFinder.h → Locator.h} +4 -2
- data/ext/UiaDll/UiaDll/MenuItemSelector.cpp +3 -3
- data/ext/UiaDll/UiaDll/MenuMethods.cpp +4 -0
- data/ext/UiaDll/UiaDll/SelectListMethods.cpp +40 -21
- data/ext/UiaDll/UiaDll/SpinnerMethods.cpp +61 -0
- data/ext/UiaDll/UiaDll/StringHelper.cpp +13 -1
- data/ext/UiaDll/UiaDll/StringHelper.h +1 -0
- data/ext/UiaDll/UiaDll/TabControlMethods.cpp +11 -8
- data/ext/UiaDll/UiaDll/TableMethods.cpp +20 -21
- data/ext/UiaDll/UiaDll/TextMethods.cpp +19 -17
- data/ext/UiaDll/UiaDll/UiaDll.cpp +191 -342
- data/ext/UiaDll/UiaDll/UiaDll.vcxproj +11 -21
- data/ext/UiaDll/UiaDll/UiaDll.vcxproj.filters +22 -115
- data/ext/UiaDll/UiaDll/dllmain.cpp +1 -21
- data/ext/UiaDll/UiaDll/stdafx.h +0 -2
- data/ext/WindowsForms/WindowsForms/DataEntryForm.Designer.cs +17 -0
- data/ext/WindowsForms/WindowsForms/DataEntryForm.cs +2 -6
- data/ext/WindowsForms/WindowsForms/MainFormWindow.Designer.cs +6 -7
- data/ext/WindowsForms/WindowsForms/MainFormWindow.cs +2 -0
- data/ext/WindowsForms/WindowsForms/UIA.Extensions.dll +0 -0
- data/ext/WindowsForms/WindowsForms/ValueMonthCalendar.cs +28 -0
- data/ext/WindowsForms/WindowsForms/WindowsForms.csproj +5 -4
- data/lib/rautomation/adapter/ms_uia.rb +1 -0
- data/lib/rautomation/adapter/ms_uia/control.rb +1 -13
- data/lib/rautomation/adapter/ms_uia/functions.rb +2 -16
- data/lib/rautomation/adapter/ms_uia/list_box.rb +2 -2
- data/lib/rautomation/adapter/ms_uia/spinner.rb +31 -0
- data/lib/rautomation/adapter/ms_uia/uia_dll.rb +59 -31
- data/lib/rautomation/adapter/ms_uia/window.rb +5 -4
- data/rautomation.gemspec +1 -0
- data/spec/adapter/ms_uia/spinner_spec.rb +44 -0
- data/spec/adapter/ms_uia/value_control_spec.rb +2 -2
- metadata +26 -25
- data/ext/UiaDll/UiaDll/AutomatedSelectList.cpp +0 -93
- data/ext/UiaDll/UiaDll/AutomatedSelectList.h +0 -47
- data/ext/UiaDll/UiaDll/AutomatedTabControl.cpp +0 -45
- data/ext/UiaDll/UiaDll/AutomatedTabControl.h +0 -41
- data/ext/UiaDll/UiaDll/AutomatedTable.cpp +0 -92
- data/ext/UiaDll/UiaDll/AutomatedTable.h +0 -35
- data/ext/UiaDll/UiaDll/AutomatedText.cpp +0 -22
- data/ext/UiaDll/UiaDll/AutomatedText.h +0 -26
- data/ext/UiaDll/UiaDll/AutomationClicker.cpp +0 -53
- data/ext/UiaDll/UiaDll/AutomationClicker.h +0 -30
- data/ext/UiaDll/UiaDll/AutomationControl.cpp +0 -40
- data/ext/UiaDll/UiaDll/AutomationControl.h +0 -75
- data/ext/UiaDll/UiaDll/ExpandCollapseHelper.cpp +0 -53
- data/ext/UiaDll/UiaDll/ExpandCollapseHelper.h +0 -25
- data/ext/UiaDll/UiaDll/SelectionItem.cpp +0 -10
- data/ext/UiaDll/UiaDll/SelectionItem.h +0 -21
- data/ext/UiaDll/UiaDll/Toggle.cpp +0 -2
- data/ext/UiaDll/UiaDll/Toggle.h +0 -22
- data/ext/UiaDll/UiaDll/globals.h +0 -3
- data/ext/WindowsForms/WindowsForms/AutomatableMonthCalendar.cs +0 -59
- data/ext/WindowsForms/WindowsForms/AutomationHelpers/AutomationProvider.cs +0 -91
@@ -47,6 +47,10 @@
|
|
47
47
|
<Reference Include="System.Drawing" />
|
48
48
|
<Reference Include="System.Windows.Forms" />
|
49
49
|
<Reference Include="System.Xml" />
|
50
|
+
<Reference Include="UIA.Extensions, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
51
|
+
<SpecificVersion>False</SpecificVersion>
|
52
|
+
<HintPath>.\UIA.Extensions.dll</HintPath>
|
53
|
+
</Reference>
|
50
54
|
<Reference Include="UIAutomationClient" />
|
51
55
|
<Reference Include="UIAutomationProvider" />
|
52
56
|
<Reference Include="UIAutomationTypes" />
|
@@ -59,10 +63,6 @@
|
|
59
63
|
<Compile Include="AboutBox.Designer.cs">
|
60
64
|
<DependentUpon>AboutBox.cs</DependentUpon>
|
61
65
|
</Compile>
|
62
|
-
<Compile Include="AutomatableMonthCalendar.cs">
|
63
|
-
<SubType>Component</SubType>
|
64
|
-
</Compile>
|
65
|
-
<Compile Include="AutomationHelpers\AutomationProvider.cs" />
|
66
66
|
<Compile Include="DataEntryForm.cs">
|
67
67
|
<SubType>Form</SubType>
|
68
68
|
</Compile>
|
@@ -95,6 +95,7 @@
|
|
95
95
|
</Compile>
|
96
96
|
<Compile Include="Program.cs" />
|
97
97
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
98
|
+
<Compile Include="ValueMonthCalendar.cs" />
|
98
99
|
<EmbeddedResource Include="AboutBox.resx">
|
99
100
|
<DependentUpon>AboutBox.cs</DependentUpon>
|
100
101
|
</EmbeddedResource>
|
@@ -19,6 +19,7 @@ require File.dirname(__FILE__) + "/ms_uia/menu"
|
|
19
19
|
require File.dirname(__FILE__) + "/ms_uia/radio"
|
20
20
|
require File.dirname(__FILE__) + "/ms_uia/text_field"
|
21
21
|
require File.dirname(__FILE__) + "/ms_uia/select_list"
|
22
|
+
require File.dirname(__FILE__) + "/ms_uia/spinner"
|
22
23
|
require File.dirname(__FILE__) + "/ms_uia/table"
|
23
24
|
require File.dirname(__FILE__) + "/ms_uia/tab_control"
|
24
25
|
require File.dirname(__FILE__) + "/ms_uia/label"
|
@@ -85,19 +85,7 @@ module RAutomation
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def visible?
|
88
|
-
|
89
|
-
|
90
|
-
off_screen = FFI::MemoryPointer.new :int
|
91
|
-
|
92
|
-
if UiaDll::is_offscreen(element, off_screen) == 0
|
93
|
-
fail "Could not check element"
|
94
|
-
end
|
95
|
-
|
96
|
-
# puts "return #{off_screen.read_int}"
|
97
|
-
if off_screen.read_int == 0
|
98
|
-
return true
|
99
|
-
end
|
100
|
-
false
|
88
|
+
!UiaDll::is_offscreen(search_information)
|
101
89
|
end
|
102
90
|
|
103
91
|
def matches_type?(*classes)
|
@@ -172,8 +172,7 @@ module RAutomation
|
|
172
172
|
raise UnknownElementException, "#{locators[:id]} does not exist" if hwnd == 0
|
173
173
|
hwnd
|
174
174
|
when locators[:point]
|
175
|
-
|
176
|
-
hwnd = UiaDll::current_native_window_handle(uia_control) # return HWND of UIA element
|
175
|
+
hwnd = UiaDll::handle_from_point(*locators[:point])
|
177
176
|
raise UnknownElementException, "#{locators[:point]} does not exist" if hwnd == 0
|
178
177
|
hwnd
|
179
178
|
else
|
@@ -192,14 +191,6 @@ module RAutomation
|
|
192
191
|
text_for(control_hwnd)
|
193
192
|
end
|
194
193
|
|
195
|
-
def control_click(control_hwnd)
|
196
|
-
string_buffer = FFI::MemoryPointer.new :char, 1024
|
197
|
-
UiaDll::control_mouse_click control_hwnd, string_buffer, 1024
|
198
|
-
error_info = string_buffer.read_string
|
199
|
-
raise error_info unless error_info.empty?
|
200
|
-
true
|
201
|
-
end
|
202
|
-
|
203
194
|
def set_control_focus(control_hwnd)
|
204
195
|
within_foreground_thread control_hwnd do
|
205
196
|
_set_control_focus(control_hwnd)
|
@@ -214,12 +205,7 @@ module RAutomation
|
|
214
205
|
end
|
215
206
|
|
216
207
|
def control_name(control_hwnd)
|
217
|
-
|
218
|
-
if (UiaDll::get_control_name(control_hwnd, string_buffer, 255))
|
219
|
-
string_buffer.read_string
|
220
|
-
else
|
221
|
-
fail "Cannot get name for control with HWND 0x" + control_hwnd.to_s(16)
|
222
|
-
end
|
208
|
+
UiaDll::name(UiaDll::SearchCriteria.from_locator(control_hwnd, :hwnd => control_hwnd))
|
223
209
|
end
|
224
210
|
|
225
211
|
private
|
@@ -11,13 +11,13 @@ module RAutomation
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def items
|
14
|
-
UiaDll::
|
14
|
+
UiaDll::table_values(search_information).map do |list_item|
|
15
15
|
@window.list_item(:value => list_item)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
19
|
def strings
|
20
|
-
UiaDll::
|
20
|
+
UiaDll::table_values(search_information)
|
21
21
|
end
|
22
22
|
|
23
23
|
def value
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module RAutomation
|
2
|
+
module Adapter
|
3
|
+
module MsUia
|
4
|
+
class Spinner < Control
|
5
|
+
def set(value)
|
6
|
+
UiaDll::set_spinner_value(search_information, value)
|
7
|
+
end
|
8
|
+
|
9
|
+
def value
|
10
|
+
UiaDll::spinner_value(search_information)
|
11
|
+
end
|
12
|
+
|
13
|
+
def minimum
|
14
|
+
UiaDll::spinner_min(search_information)
|
15
|
+
end
|
16
|
+
|
17
|
+
def maximum
|
18
|
+
UiaDll::spinner_max(search_information)
|
19
|
+
end
|
20
|
+
|
21
|
+
def increment
|
22
|
+
UiaDll::increment_spinner(search_information)
|
23
|
+
end
|
24
|
+
|
25
|
+
def decrement
|
26
|
+
UiaDll::decrement_spinner(search_information)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -108,9 +108,17 @@ module RAutomation
|
|
108
108
|
:how, HowToFind, :data, FindData
|
109
109
|
end
|
110
110
|
|
111
|
-
|
111
|
+
def self.uia_dll_directory
|
112
|
+
File.dirname(__FILE__) + '/../../../../ext/UiaDll/Release'
|
113
|
+
end
|
114
|
+
|
115
|
+
|
116
|
+
ffi_lib File.join(uia_dll_directory, 'UiaDll.dll')
|
112
117
|
ffi_convention :stdcall
|
113
118
|
|
119
|
+
attach_function :init, :initialize, [:string], :void
|
120
|
+
init(uia_dll_directory)
|
121
|
+
|
114
122
|
# Generic Control methods
|
115
123
|
attach_function :cached_hwnd, :NativeWindowHandle, [SearchCriteria.by_ref], :long
|
116
124
|
attach_function :ElementExists, [SearchCriteria.by_ref], :bool
|
@@ -189,6 +197,44 @@ module RAutomation
|
|
189
197
|
string_from(:SelectList_Selection, search_information)
|
190
198
|
end
|
191
199
|
|
200
|
+
# Spinner methods
|
201
|
+
attach_function :Spinner_GetValue,
|
202
|
+
[SearchCriteria.by_ref, :pointer, :int], :double
|
203
|
+
attach_function :Spinner_SetValue,
|
204
|
+
[SearchCriteria.by_ref, :double, :pointer, :int], :void
|
205
|
+
attach_function :Spinner_Minimum,
|
206
|
+
[SearchCriteria.by_ref, :pointer, :int], :double
|
207
|
+
attach_function :Spinner_Maximum,
|
208
|
+
[SearchCriteria.by_ref, :pointer, :int], :double
|
209
|
+
attach_function :Spinner_Increment,
|
210
|
+
[SearchCriteria.by_ref, :pointer, :int], :double
|
211
|
+
attach_function :Spinner_Decrement,
|
212
|
+
[SearchCriteria.by_ref, :pointer, :int], :double
|
213
|
+
|
214
|
+
def self.spinner_value(search_information)
|
215
|
+
can_throw(:Spinner_GetValue, search_information)
|
216
|
+
end
|
217
|
+
|
218
|
+
def self.set_spinner_value(search_information, value)
|
219
|
+
can_throw(:Spinner_SetValue, search_information, value)
|
220
|
+
end
|
221
|
+
|
222
|
+
def self.spinner_min(search_information)
|
223
|
+
can_throw(:Spinner_Minimum, search_information)
|
224
|
+
end
|
225
|
+
|
226
|
+
def self.spinner_max(search_information)
|
227
|
+
can_throw(:Spinner_Maximum, search_information)
|
228
|
+
end
|
229
|
+
|
230
|
+
def self.increment_spinner(search_information)
|
231
|
+
can_throw(:Spinner_Increment, search_information)
|
232
|
+
end
|
233
|
+
|
234
|
+
def self.decrement_spinner(search_information)
|
235
|
+
can_throw(:Spinner_Decrement, search_information)
|
236
|
+
end
|
237
|
+
|
192
238
|
# Tab Control methods
|
193
239
|
attach_function :TabControl_Items,
|
194
240
|
[SearchCriteria.by_ref, :pointer], :int
|
@@ -228,8 +274,6 @@ module RAutomation
|
|
228
274
|
[SearchCriteria.by_ref, :pointer], :int
|
229
275
|
attach_function :Table_GetValues,
|
230
276
|
[SearchCriteria.by_ref, :pointer], :int
|
231
|
-
attach_function :Table_FindValues,
|
232
|
-
[SearchCriteria.by_ref, :pointer], :int
|
233
277
|
attach_function :table_row_count, :Table_RowCount,
|
234
278
|
[SearchCriteria.by_ref], :int
|
235
279
|
attach_function :Table_CoordinateIsValid,
|
@@ -268,47 +312,31 @@ module RAutomation
|
|
268
312
|
strings_from :Table_GetValues, search_information
|
269
313
|
end
|
270
314
|
|
271
|
-
def self.find_table_values(search_information)
|
272
|
-
strings_from :Table_FindValues, search_information
|
273
|
-
end
|
274
|
-
|
275
315
|
# String methods
|
276
316
|
attach_function :clean_up_strings, :String_CleanUp,
|
277
317
|
[:pointer, :int], :void
|
278
318
|
|
279
|
-
attach_function :
|
280
|
-
[:
|
281
|
-
attach_function :
|
282
|
-
[:int, :int], :pointer
|
283
|
-
attach_function :current_native_window_handle, :RA_CurrentNativeWindowHandle,
|
284
|
-
[:pointer], :long
|
285
|
-
attach_function :move_mouse, :RA_MoveMouse,
|
319
|
+
attach_function :handle_from_point, :HandleFromPoint,
|
320
|
+
[:int, :int], :long
|
321
|
+
attach_function :move_mouse, :MoveMouse,
|
286
322
|
[:int,:int], :long
|
287
|
-
attach_function :click_mouse, :
|
323
|
+
attach_function :click_mouse, :ClickMouse,
|
288
324
|
[], :long
|
289
|
-
attach_function :is_offscreen, :
|
290
|
-
[
|
291
|
-
attach_function :
|
292
|
-
[:pointer, :pointer], :int
|
293
|
-
attach_function :get_control_name, :RA_GetControlName,
|
294
|
-
[:long, :pointer, :int], :bool
|
295
|
-
attach_function :select, :RA_Select,
|
296
|
-
[:pointer], :int
|
297
|
-
attach_function :expand_by_value, :RA_ExpandItemByValue,
|
325
|
+
attach_function :is_offscreen, :IsOffscreen,
|
326
|
+
[SearchCriteria.by_ref], :bool
|
327
|
+
attach_function :expand_by_value, :ExpandItemByValue,
|
298
328
|
[SearchCriteria.by_ref, :string], :void
|
299
|
-
attach_function :expand_by_index, :
|
329
|
+
attach_function :expand_by_index, :ExpandItemByIndex,
|
300
330
|
[SearchCriteria.by_ref, :int], :void
|
301
|
-
attach_function :collapse_by_value, :
|
331
|
+
attach_function :collapse_by_value, :CollapseItemByValue,
|
302
332
|
[SearchCriteria.by_ref, :string], :void
|
303
|
-
attach_function :collapse_by_index, :
|
333
|
+
attach_function :collapse_by_index, :CollapseItemByIndex,
|
304
334
|
[SearchCriteria.by_ref, :int], :void
|
305
|
-
attach_function :
|
335
|
+
attach_function :Click,
|
306
336
|
[SearchCriteria.by_ref, :pointer, :int], :bool
|
307
|
-
attach_function :control_mouse_click, :RA_PointAndClick,
|
308
|
-
[:long, :pointer, :int], :void
|
309
337
|
|
310
338
|
def self.control_click(search_information)
|
311
|
-
can_throw(:
|
339
|
+
can_throw(:Click, search_information)
|
312
340
|
end
|
313
341
|
|
314
342
|
private
|
@@ -169,6 +169,11 @@ module RAutomation
|
|
169
169
|
TabControl.new(self, locator)
|
170
170
|
end
|
171
171
|
|
172
|
+
# @see Spinner#initialize
|
173
|
+
def spinner(locator)
|
174
|
+
Spinner.new(self, locator)
|
175
|
+
end
|
176
|
+
|
172
177
|
# @see TextField#initialize
|
173
178
|
# @see RAutomation::Window#text_field
|
174
179
|
def text_field(locator)
|
@@ -187,10 +192,6 @@ module RAutomation
|
|
187
192
|
Functions.respond_to?(name) ? Functions.send(name, *args) : super
|
188
193
|
end
|
189
194
|
|
190
|
-
def count_children(element)
|
191
|
-
UiaDll::find_children(element, nil)
|
192
|
-
end
|
193
|
-
|
194
195
|
def bounding_rectangle
|
195
196
|
window = UiaDll::element_from_handle(hwnd)
|
196
197
|
|
data/rautomation.gemspec
CHANGED
@@ -19,6 +19,7 @@ RAutomation provides:
|
|
19
19
|
ext_binaries = [
|
20
20
|
"ext/IAccessibleDLL/Release/IAccessibleDLL.dll",
|
21
21
|
"ext/UiaDll/Release/UiaDll.dll",
|
22
|
+
"ext/UiaDll/Release/RAutomation.UIA.dll",
|
22
23
|
"ext/WindowsForms/Release/WindowsForms.exe"
|
23
24
|
]
|
24
25
|
s.files = `git ls-files`.split("\n") + ext_binaries
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
include RAutomation::Adapter
|
4
|
+
|
5
|
+
describe MsUia::Spinner, :if => SpecHelper.adapter == :ms_uia do
|
6
|
+
let(:main_window) { RAutomation::Window.new(:title => 'MainFormWindow') }
|
7
|
+
let(:data_entry) { main_window.button(:value => 'Data Entry Form').click { window.exist? } }
|
8
|
+
let(:window) { RAutomation::Window.new(:title => 'DataEntryForm') }
|
9
|
+
|
10
|
+
subject { window.spinner(:id => 'numericUpDown1') }
|
11
|
+
|
12
|
+
before(:each) do
|
13
|
+
data_entry
|
14
|
+
end
|
15
|
+
|
16
|
+
it { should exist }
|
17
|
+
|
18
|
+
it '#set' do
|
19
|
+
subject.set 4.0
|
20
|
+
subject.value.should eq(4.0)
|
21
|
+
end
|
22
|
+
|
23
|
+
it '#minimum' do
|
24
|
+
subject.minimum.should eq(-100.0)
|
25
|
+
end
|
26
|
+
|
27
|
+
it '#maximum' do
|
28
|
+
subject.maximum.should eq(100.0)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'likes for values to be within range' do
|
32
|
+
lambda { subject.set(1000.0) }.should raise_error
|
33
|
+
end
|
34
|
+
|
35
|
+
it '#increment' do
|
36
|
+
subject.set 5.0
|
37
|
+
subject.increment.should eq(6.0)
|
38
|
+
end
|
39
|
+
|
40
|
+
it '#decrement' do
|
41
|
+
subject.set 5.0
|
42
|
+
subject.decrement.should eq(4.0)
|
43
|
+
end
|
44
|
+
end
|
@@ -5,7 +5,7 @@ describe "MsUia::ValueControl", :if => SpecHelper.adapter == :ms_uia do
|
|
5
5
|
let(:value_control) { window.value_control(:id => "automatableMonthCalendar1") }
|
6
6
|
|
7
7
|
it "can set and get values" do
|
8
|
-
value_control.set
|
9
|
-
value_control.value.should eq(
|
8
|
+
value_control.set '12/25/2012'
|
9
|
+
value_control.value.should eq('12/25/2012')
|
10
10
|
end
|
11
11
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rautomation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jarmo Pertman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -105,40 +105,38 @@ files:
|
|
105
105
|
- ext/IAccessibleDLL/IAccessibleDLL/stdafx.h
|
106
106
|
- ext/IAccessibleDLL/IAccessibleDLL/table_support.cpp
|
107
107
|
- ext/IAccessibleDLL/IAccessibleDLL/targetver.h
|
108
|
+
- ext/UiaDll/RAutomation.UIA/Controls/Clicker.cs
|
109
|
+
- ext/UiaDll/RAutomation.UIA/Controls/SelectList.cs
|
110
|
+
- ext/UiaDll/RAutomation.UIA/Controls/Spinner.cs
|
111
|
+
- ext/UiaDll/RAutomation.UIA/Controls/TabControl.cs
|
112
|
+
- ext/UiaDll/RAutomation.UIA/Controls/TableControl.cs
|
113
|
+
- ext/UiaDll/RAutomation.UIA/Controls/TextControl.cs
|
114
|
+
- ext/UiaDll/RAutomation.UIA/Expander.cs
|
115
|
+
- ext/UiaDll/RAutomation.UIA/Extensions/Element.cs
|
116
|
+
- ext/UiaDll/RAutomation.UIA/Extensions/Enumerable.cs
|
117
|
+
- ext/UiaDll/RAutomation.UIA/Extensions/Property.cs
|
118
|
+
- ext/UiaDll/RAutomation.UIA/Properties/AssemblyInfo.cs
|
119
|
+
- ext/UiaDll/RAutomation.UIA/Properties/AutomationProperties.cs
|
120
|
+
- ext/UiaDll/RAutomation.UIA/RAutomation.UIA.csproj
|
108
121
|
- ext/UiaDll/UiaDll.sln
|
109
122
|
- ext/UiaDll/UiaDll/AssemblyInfo.cpp
|
110
|
-
- ext/UiaDll/UiaDll/AutomatedSelectList.cpp
|
111
|
-
- ext/UiaDll/UiaDll/AutomatedSelectList.h
|
112
|
-
- ext/UiaDll/UiaDll/AutomatedTabControl.cpp
|
113
|
-
- ext/UiaDll/UiaDll/AutomatedTabControl.h
|
114
|
-
- ext/UiaDll/UiaDll/AutomatedTable.cpp
|
115
|
-
- ext/UiaDll/UiaDll/AutomatedTable.h
|
116
|
-
- ext/UiaDll/UiaDll/AutomatedText.cpp
|
117
|
-
- ext/UiaDll/UiaDll/AutomatedText.h
|
118
|
-
- ext/UiaDll/UiaDll/AutomationClicker.cpp
|
119
|
-
- ext/UiaDll/UiaDll/AutomationClicker.h
|
120
|
-
- ext/UiaDll/UiaDll/AutomationControl.cpp
|
121
|
-
- ext/UiaDll/UiaDll/AutomationControl.h
|
122
|
-
- ext/UiaDll/UiaDll/AutomationFinder.cpp
|
123
|
-
- ext/UiaDll/UiaDll/AutomationFinder.h
|
124
123
|
- ext/UiaDll/UiaDll/ControlMethods.cpp
|
125
|
-
- ext/UiaDll/UiaDll/
|
126
|
-
- ext/UiaDll/UiaDll/
|
124
|
+
- ext/UiaDll/UiaDll/DynamicAssemblyResolver.cpp
|
125
|
+
- ext/UiaDll/UiaDll/DynamicAssemblyResolver.h
|
126
|
+
- ext/UiaDll/UiaDll/Locator.cpp
|
127
|
+
- ext/UiaDll/UiaDll/Locator.h
|
127
128
|
- ext/UiaDll/UiaDll/MenuItemSelector.cpp
|
128
129
|
- ext/UiaDll/UiaDll/MenuItemSelector.h
|
129
130
|
- ext/UiaDll/UiaDll/MenuMethods.cpp
|
130
131
|
- ext/UiaDll/UiaDll/ReadMe.txt
|
131
132
|
- ext/UiaDll/UiaDll/SelectListMethods.cpp
|
132
|
-
- ext/UiaDll/UiaDll/
|
133
|
-
- ext/UiaDll/UiaDll/SelectionItem.h
|
133
|
+
- ext/UiaDll/UiaDll/SpinnerMethods.cpp
|
134
134
|
- ext/UiaDll/UiaDll/StringHelper.cpp
|
135
135
|
- ext/UiaDll/UiaDll/StringHelper.h
|
136
136
|
- ext/UiaDll/UiaDll/StringMethods.cpp
|
137
137
|
- ext/UiaDll/UiaDll/TabControlMethods.cpp
|
138
138
|
- ext/UiaDll/UiaDll/TableMethods.cpp
|
139
139
|
- ext/UiaDll/UiaDll/TextMethods.cpp
|
140
|
-
- ext/UiaDll/UiaDll/Toggle.cpp
|
141
|
-
- ext/UiaDll/UiaDll/Toggle.h
|
142
140
|
- ext/UiaDll/UiaDll/ToggleStateHelper.h
|
143
141
|
- ext/UiaDll/UiaDll/UiaDll.cpp
|
144
142
|
- ext/UiaDll/UiaDll/UiaDll.h
|
@@ -147,7 +145,6 @@ files:
|
|
147
145
|
- ext/UiaDll/UiaDll/app.ico
|
148
146
|
- ext/UiaDll/UiaDll/app.rc
|
149
147
|
- ext/UiaDll/UiaDll/dllmain.cpp
|
150
|
-
- ext/UiaDll/UiaDll/globals.h
|
151
148
|
- ext/UiaDll/UiaDll/resource.h
|
152
149
|
- ext/UiaDll/UiaDll/stdafx.cpp
|
153
150
|
- ext/UiaDll/UiaDll/stdafx.h
|
@@ -156,8 +153,6 @@ files:
|
|
156
153
|
- ext/WindowsForms/WindowsForms/AboutBox.Designer.cs
|
157
154
|
- ext/WindowsForms/WindowsForms/AboutBox.cs
|
158
155
|
- ext/WindowsForms/WindowsForms/AboutBox.resx
|
159
|
-
- ext/WindowsForms/WindowsForms/AutomatableMonthCalendar.cs
|
160
|
-
- ext/WindowsForms/WindowsForms/AutomationHelpers/AutomationProvider.cs
|
161
156
|
- ext/WindowsForms/WindowsForms/DataEntryForm.Designer.cs
|
162
157
|
- ext/WindowsForms/WindowsForms/DataEntryForm.cs
|
163
158
|
- ext/WindowsForms/WindowsForms/DataEntryForm.resx
|
@@ -180,6 +175,8 @@ files:
|
|
180
175
|
- ext/WindowsForms/WindowsForms/SimpleElementsForm.Designer.cs
|
181
176
|
- ext/WindowsForms/WindowsForms/SimpleElementsForm.cs
|
182
177
|
- ext/WindowsForms/WindowsForms/SimpleElementsForm.resx
|
178
|
+
- ext/WindowsForms/WindowsForms/UIA.Extensions.dll
|
179
|
+
- ext/WindowsForms/WindowsForms/ValueMonthCalendar.cs
|
183
180
|
- ext/WindowsForms/WindowsForms/WindowsForms.csproj
|
184
181
|
- lib/rautomation.rb
|
185
182
|
- lib/rautomation/adapter/autoit.rb
|
@@ -205,6 +202,7 @@ files:
|
|
205
202
|
- lib/rautomation/adapter/ms_uia/menu.rb
|
206
203
|
- lib/rautomation/adapter/ms_uia/radio.rb
|
207
204
|
- lib/rautomation/adapter/ms_uia/select_list.rb
|
205
|
+
- lib/rautomation/adapter/ms_uia/spinner.rb
|
208
206
|
- lib/rautomation/adapter/ms_uia/tab_control.rb
|
209
207
|
- lib/rautomation/adapter/ms_uia/table.rb
|
210
208
|
- lib/rautomation/adapter/ms_uia/text_field.rb
|
@@ -247,6 +245,7 @@ files:
|
|
247
245
|
- spec/adapter/ms_uia/listbox_spec.rb
|
248
246
|
- spec/adapter/ms_uia/radio_spec.rb
|
249
247
|
- spec/adapter/ms_uia/select_list_spec.rb
|
248
|
+
- spec/adapter/ms_uia/spinner_spec.rb
|
250
249
|
- spec/adapter/ms_uia/tab_control_spec.rb
|
251
250
|
- spec/adapter/ms_uia/table_spec.rb
|
252
251
|
- spec/adapter/ms_uia/text_field_spec.rb
|
@@ -271,6 +270,7 @@ files:
|
|
271
270
|
- spec/windows_spec.rb
|
272
271
|
- ext/IAccessibleDLL/Release/IAccessibleDLL.dll
|
273
272
|
- ext/UiaDll/Release/UiaDll.dll
|
273
|
+
- ext/UiaDll/Release/RAutomation.UIA.dll
|
274
274
|
- ext/WindowsForms/Release/WindowsForms.exe
|
275
275
|
homepage: http://github.com/jarmo/RAutomation
|
276
276
|
licenses:
|
@@ -309,6 +309,7 @@ test_files:
|
|
309
309
|
- spec/adapter/ms_uia/listbox_spec.rb
|
310
310
|
- spec/adapter/ms_uia/radio_spec.rb
|
311
311
|
- spec/adapter/ms_uia/select_list_spec.rb
|
312
|
+
- spec/adapter/ms_uia/spinner_spec.rb
|
312
313
|
- spec/adapter/ms_uia/tab_control_spec.rb
|
313
314
|
- spec/adapter/ms_uia/table_spec.rb
|
314
315
|
- spec/adapter/ms_uia/text_field_spec.rb
|