rautomation 0.17.0 → 1.0.0
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 +5 -5
- data/.document +1 -1
- data/.gitignore +37 -36
- data/.yardopts +4 -2
- data/CHANGES.md +264 -0
- data/Gemfile.lock +12 -4
- data/LICENSE +1 -1
- data/README.md +141 -0
- data/VERSION +1 -1
- data/ext/IAccessibleDLL/IAccessibleDLL/IAccessibleDLL.vcxproj +103 -101
- data/ext/UiaDll/UiaDll/UiaDll.vcxproj +2 -0
- data/lib/rautomation/adapter/autoit/button.rb +2 -2
- data/lib/rautomation/adapter/autoit/text_field.rb +2 -2
- data/lib/rautomation/adapter/autoit/window.rb +2 -2
- data/lib/rautomation/adapter/ms_uia/control.rb +2 -2
- data/lib/rautomation/adapter/ms_uia/uia_dll.rb +3 -3
- data/lib/rautomation/adapter/ms_uia/window.rb +3 -3
- data/lib/rautomation/adapter/win_32/control.rb +2 -2
- data/lib/rautomation/adapter/win_32/mouse.rb +59 -59
- data/lib/rautomation/adapter/win_32/window.rb +7 -7
- data/lib/rautomation/window.rb +4 -4
- data/rautomation.gemspec +36 -34
- data/spec/button_spec.rb +68 -69
- data/spec/spec_helper.rb +122 -122
- data/spec/text_field_spec.rb +2 -2
- data/spec/window_spec.rb +149 -149
- metadata +53 -27
- data/History.rdoc +0 -273
- data/README.rdoc +0 -120
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
@@ -1,102 +1,104 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
3
|
-
<ItemGroup Label="ProjectConfigurations">
|
4
|
-
<ProjectConfiguration Include="Debug|Win32">
|
5
|
-
<Configuration>Debug</Configuration>
|
6
|
-
<Platform>Win32</Platform>
|
7
|
-
</ProjectConfiguration>
|
8
|
-
<ProjectConfiguration Include="Release|Win32">
|
9
|
-
<Configuration>Release</Configuration>
|
10
|
-
<Platform>Win32</Platform>
|
11
|
-
</ProjectConfiguration>
|
12
|
-
</ItemGroup>
|
13
|
-
<PropertyGroup Label="Globals">
|
14
|
-
<ProjectGuid>{CCE6C620-932C-4B59-A2DA-E11E279F4D9A}</ProjectGuid>
|
15
|
-
<Keyword>Win32Proj</Keyword>
|
16
|
-
<RootNamespace>IAccessibleDLL</RootNamespace>
|
17
|
-
</PropertyGroup>
|
18
|
-
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
19
|
-
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
20
|
-
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
21
|
-
<UseDebugLibraries>true</UseDebugLibraries>
|
22
|
-
<CharacterSet>Unicode</CharacterSet>
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
<
|
27
|
-
<
|
28
|
-
<
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
<ImportGroup Label="
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
<
|
51
|
-
<
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
<
|
63
|
-
<
|
64
|
-
<
|
65
|
-
<
|
66
|
-
<
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
<
|
72
|
-
<
|
73
|
-
<
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
</
|
88
|
-
<
|
89
|
-
|
90
|
-
</
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
3
|
+
<ItemGroup Label="ProjectConfigurations">
|
4
|
+
<ProjectConfiguration Include="Debug|Win32">
|
5
|
+
<Configuration>Debug</Configuration>
|
6
|
+
<Platform>Win32</Platform>
|
7
|
+
</ProjectConfiguration>
|
8
|
+
<ProjectConfiguration Include="Release|Win32">
|
9
|
+
<Configuration>Release</Configuration>
|
10
|
+
<Platform>Win32</Platform>
|
11
|
+
</ProjectConfiguration>
|
12
|
+
</ItemGroup>
|
13
|
+
<PropertyGroup Label="Globals">
|
14
|
+
<ProjectGuid>{CCE6C620-932C-4B59-A2DA-E11E279F4D9A}</ProjectGuid>
|
15
|
+
<Keyword>Win32Proj</Keyword>
|
16
|
+
<RootNamespace>IAccessibleDLL</RootNamespace>
|
17
|
+
</PropertyGroup>
|
18
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
19
|
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
20
|
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
21
|
+
<UseDebugLibraries>true</UseDebugLibraries>
|
22
|
+
<CharacterSet>Unicode</CharacterSet>
|
23
|
+
<PlatformToolset>v142</PlatformToolset>
|
24
|
+
</PropertyGroup>
|
25
|
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
26
|
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
27
|
+
<UseDebugLibraries>false</UseDebugLibraries>
|
28
|
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
29
|
+
<CharacterSet>Unicode</CharacterSet>
|
30
|
+
<PlatformToolset>v142</PlatformToolset>
|
31
|
+
</PropertyGroup>
|
32
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
33
|
+
<ImportGroup Label="ExtensionSettings">
|
34
|
+
</ImportGroup>
|
35
|
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
36
|
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
37
|
+
</ImportGroup>
|
38
|
+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
39
|
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
40
|
+
</ImportGroup>
|
41
|
+
<PropertyGroup Label="UserMacros" />
|
42
|
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
43
|
+
<LinkIncremental>true</LinkIncremental>
|
44
|
+
</PropertyGroup>
|
45
|
+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
46
|
+
<LinkIncremental>false</LinkIncremental>
|
47
|
+
</PropertyGroup>
|
48
|
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
49
|
+
<ClCompile>
|
50
|
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
51
|
+
<WarningLevel>Level3</WarningLevel>
|
52
|
+
<Optimization>Disabled</Optimization>
|
53
|
+
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;IACCESSIBLEDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
54
|
+
</ClCompile>
|
55
|
+
<Link>
|
56
|
+
<SubSystem>Windows</SubSystem>
|
57
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
58
|
+
</Link>
|
59
|
+
</ItemDefinitionGroup>
|
60
|
+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
61
|
+
<ClCompile>
|
62
|
+
<WarningLevel>Level3</WarningLevel>
|
63
|
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
64
|
+
<Optimization>MaxSpeed</Optimization>
|
65
|
+
<FunctionLevelLinking>true</FunctionLevelLinking>
|
66
|
+
<IntrinsicFunctions>true</IntrinsicFunctions>
|
67
|
+
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;IACCESSIBLEDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
68
|
+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
69
|
+
</ClCompile>
|
70
|
+
<Link>
|
71
|
+
<SubSystem>Windows</SubSystem>
|
72
|
+
<GenerateDebugInformation>true</GenerateDebugInformation>
|
73
|
+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
74
|
+
<OptimizeReferences>true</OptimizeReferences>
|
75
|
+
<AdditionalDependencies>oleacc.lib;comsuppw.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
76
|
+
</Link>
|
77
|
+
</ItemDefinitionGroup>
|
78
|
+
<ItemGroup>
|
79
|
+
<None Include="ReadMe.txt" />
|
80
|
+
</ItemGroup>
|
81
|
+
<ItemGroup>
|
82
|
+
<ClInclude Include="stdafx.h" />
|
83
|
+
<ClInclude Include="targetver.h" />
|
84
|
+
</ItemGroup>
|
85
|
+
<ItemGroup>
|
86
|
+
<ClCompile Include="dllmain.cpp">
|
87
|
+
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
|
88
|
+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
89
|
+
</PrecompiledHeader>
|
90
|
+
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
|
91
|
+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
92
|
+
</PrecompiledHeader>
|
93
|
+
</ClCompile>
|
94
|
+
<ClCompile Include="IAccessibleDLL.cpp" />
|
95
|
+
<ClCompile Include="stdafx.cpp">
|
96
|
+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
97
|
+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
98
|
+
</ClCompile>
|
99
|
+
<ClCompile Include="table_support.cpp" />
|
100
|
+
</ItemGroup>
|
101
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
102
|
+
<ImportGroup Label="ExtensionTargets">
|
103
|
+
</ImportGroup>
|
102
104
|
</Project>
|
@@ -22,12 +22,14 @@
|
|
22
22
|
<UseDebugLibraries>true</UseDebugLibraries>
|
23
23
|
<CLRSupport>true</CLRSupport>
|
24
24
|
<CharacterSet>Unicode</CharacterSet>
|
25
|
+
<PlatformToolset>v142</PlatformToolset>
|
25
26
|
</PropertyGroup>
|
26
27
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
27
28
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
28
29
|
<UseDebugLibraries>false</UseDebugLibraries>
|
29
30
|
<CLRSupport>true</CLRSupport>
|
30
31
|
<CharacterSet>Unicode</CharacterSet>
|
32
|
+
<PlatformToolset>v142</PlatformToolset>
|
31
33
|
</PropertyGroup>
|
32
34
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
33
35
|
<ImportGroup Label="ExtensionSettings">
|
@@ -22,8 +22,8 @@ module RAutomation
|
|
22
22
|
# @param [Hash] locators for searching the button.
|
23
23
|
# @option locators [String, Regexp] :value Value (text) of the button
|
24
24
|
# @option locators [String, Regexp] :class Internal class name of the button
|
25
|
-
# @option locators [String,
|
26
|
-
# @option locators [String,
|
25
|
+
# @option locators [String, Integer] :id Internal ID of the button
|
26
|
+
# @option locators [String, Integer] :index 0-based index to specify n-th button if all other criteria match
|
27
27
|
# @see RAutomation::Window#button
|
28
28
|
def initialize(window, locators)
|
29
29
|
@window = window
|
@@ -22,8 +22,8 @@ module RAutomation
|
|
22
22
|
# @param [Hash] locators for searching the text field.
|
23
23
|
# @option locators [String, Regexp] :class Internal class name of the text field
|
24
24
|
# @option locators [String, Regexp] :value Value (text) of the text field
|
25
|
-
# @option locators [String,
|
26
|
-
# @option locators [String,
|
25
|
+
# @option locators [String, Integer] :id Internal ID of the text field
|
26
|
+
# @option locators [String, Integer] :index 0-based index to specify n-th text field if all other criteria match
|
27
27
|
# @see RAutomation::Window#text_field
|
28
28
|
def initialize(window, locators)
|
29
29
|
@window = window
|
@@ -43,8 +43,8 @@ module RAutomation
|
|
43
43
|
# @option locators [String, Regexp] :title Title of the window
|
44
44
|
# @option locators [String, Regexp] :text Visible text of the window
|
45
45
|
# @option locators [String, Regexp] :class Internal class name of the window
|
46
|
-
# @option locators [String,
|
47
|
-
# @option locators [String,
|
46
|
+
# @option locators [String, Integer] :hwnd Window handle in decimal format
|
47
|
+
# @option locators [String, Integer] :index 0-based index to specify n-th window if all other criteria match
|
48
48
|
# @see RAutomation::Window#initialize
|
49
49
|
def initialize(container, locators)
|
50
50
|
@container = container
|
@@ -11,8 +11,8 @@ module RAutomation
|
|
11
11
|
# @param [Hash] locators for searching the button.
|
12
12
|
# @option locators [String, Regexp] :value Value (text) of the button
|
13
13
|
# @option locators [String, Regexp] :class Internal class name of the button
|
14
|
-
# @option locators [String,
|
15
|
-
# @option locators [String,
|
14
|
+
# @option locators [String, Integer] :id Internal ID of the button
|
15
|
+
# @option locators [String, Integer] :index 0-based index to specify n-th button if all other criteria match
|
16
16
|
# @option locators [String, Boolean] :children_only limit the scope of the search to children only
|
17
17
|
# @see RAutomation::Window#button
|
18
18
|
def initialize(window, locators)
|
@@ -218,7 +218,7 @@ module RAutomation
|
|
218
218
|
|
219
219
|
def self.remove_from_selection(search_information, which_item)
|
220
220
|
case which_item
|
221
|
-
when
|
221
|
+
when Integer
|
222
222
|
can_throw(:SelectList_RemoveIndex, search_information, which_item)
|
223
223
|
when String
|
224
224
|
can_throw(:SelectList_RemoveValue, search_information, which_item)
|
@@ -284,7 +284,7 @@ module RAutomation
|
|
284
284
|
|
285
285
|
def self.select_tab(search_information, which)
|
286
286
|
case which
|
287
|
-
when
|
287
|
+
when Integer
|
288
288
|
can_throw(:TabControl_SelectByIndex, search_information, which)
|
289
289
|
when String
|
290
290
|
can_throw(:TabControl_SelectByValue, search_information, which)
|
@@ -358,7 +358,7 @@ module RAutomation
|
|
358
358
|
|
359
359
|
def self.table_remove_from_selection(search_information, which_row)
|
360
360
|
case which_row
|
361
|
-
when
|
361
|
+
when Integer
|
362
362
|
can_throw(:Table_RemoveRowByIndex, search_information, which_row)
|
363
363
|
when String
|
364
364
|
can_throw(:Table_RemoveRowByValue, search_information, which_row)
|
@@ -21,9 +21,9 @@ module RAutomation
|
|
21
21
|
# @option locators [String, Regexp] :title Title of the window
|
22
22
|
# @option locators [String, Regexp] :text Visible text of the window
|
23
23
|
# @option locators [String, Regexp] :class Internal class name of the window
|
24
|
-
# @option locators [String,
|
25
|
-
# @option locators [String,
|
26
|
-
# @option locators [String,
|
24
|
+
# @option locators [String, Integer] :hwnd Window handle in decimal format
|
25
|
+
# @option locators [String, Integer] :pid Window process ID (PID)
|
26
|
+
# @option locators [String, Integer] :index 0-based index to specify n-th window if all other criteria match
|
27
27
|
# all other criteria match
|
28
28
|
# @see RAutomation::Window#initialize
|
29
29
|
def initialize(container, locators)
|
@@ -11,8 +11,8 @@ module RAutomation
|
|
11
11
|
# @param [Hash] locators for searching the button.
|
12
12
|
# @option locators [String, Regexp] :value Value (text) of the button
|
13
13
|
# @option locators [String, Regexp] :class Internal class name of the button
|
14
|
-
# @option locators [String,
|
15
|
-
# @option locators [String,
|
14
|
+
# @option locators [String, Integer] :id Internal ID of the button
|
15
|
+
# @option locators [String, Integer] :index 0-based index to specify n-th button if all other criteria match
|
16
16
|
# @see RAutomation::Window#button
|
17
17
|
def initialize(window, locators)
|
18
18
|
@window = window
|
@@ -1,59 +1,59 @@
|
|
1
|
-
module RAutomation
|
2
|
-
module Adapter
|
3
|
-
module Win32
|
4
|
-
class Mouse
|
5
|
-
def initialize(window)
|
6
|
-
@window = window
|
7
|
-
end
|
8
|
-
|
9
|
-
def move(coords={})
|
10
|
-
@last_position = coords = (@last_position || position).merge(coords)
|
11
|
-
|
12
|
-
until position[:x] == coords[:x] && position[:y] == coords[:y]
|
13
|
-
@window.activate
|
14
|
-
Functions.set_cursor_pos coords[:x], coords[:y]
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def position
|
19
|
-
Functions.get_cursor_pos
|
20
|
-
end
|
21
|
-
|
22
|
-
def click
|
23
|
-
send_input down_event, up_event
|
24
|
-
end
|
25
|
-
|
26
|
-
def press
|
27
|
-
send_input down_event
|
28
|
-
end
|
29
|
-
|
30
|
-
def release
|
31
|
-
send_input up_event
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
def send_input *inputs
|
37
|
-
@window.activate
|
38
|
-
Functions.send_input inputs.size, inputs.join, inputs[0].size
|
39
|
-
end
|
40
|
-
|
41
|
-
def down_event
|
42
|
-
input Constants::MOUSEEVENTF_LEFTDOWN
|
43
|
-
end
|
44
|
-
|
45
|
-
def up_event
|
46
|
-
input Constants::MOUSEEVENTF_LEFTUP
|
47
|
-
end
|
48
|
-
|
49
|
-
def input flag
|
50
|
-
mouse_input = Array.new(7, 0)
|
51
|
-
mouse_input[0] = Constants::INPUT_MOUSE
|
52
|
-
mouse_input[4] = flag
|
53
|
-
mouse_input.pack "L*"
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
1
|
+
module RAutomation
|
2
|
+
module Adapter
|
3
|
+
module Win32
|
4
|
+
class Mouse
|
5
|
+
def initialize(window)
|
6
|
+
@window = window
|
7
|
+
end
|
8
|
+
|
9
|
+
def move(coords={})
|
10
|
+
@last_position = coords = (@last_position || position).merge(coords)
|
11
|
+
|
12
|
+
until position[:x] == coords[:x] && position[:y] == coords[:y]
|
13
|
+
@window.activate
|
14
|
+
Functions.set_cursor_pos coords[:x], coords[:y]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def position
|
19
|
+
Functions.get_cursor_pos
|
20
|
+
end
|
21
|
+
|
22
|
+
def click
|
23
|
+
send_input down_event, up_event
|
24
|
+
end
|
25
|
+
|
26
|
+
def press
|
27
|
+
send_input down_event, down_event
|
28
|
+
end
|
29
|
+
|
30
|
+
def release
|
31
|
+
send_input up_event, up_event
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def send_input *inputs
|
37
|
+
@window.activate
|
38
|
+
Functions.send_input inputs.size, inputs.join, inputs[0].size
|
39
|
+
end
|
40
|
+
|
41
|
+
def down_event
|
42
|
+
input Constants::MOUSEEVENTF_LEFTDOWN
|
43
|
+
end
|
44
|
+
|
45
|
+
def up_event
|
46
|
+
input Constants::MOUSEEVENTF_LEFTUP
|
47
|
+
end
|
48
|
+
|
49
|
+
def input flag
|
50
|
+
mouse_input = Array.new(7, 0)
|
51
|
+
mouse_input[0] = Constants::INPUT_MOUSE
|
52
|
+
mouse_input[4] = flag
|
53
|
+
mouse_input.pack "L*"
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -31,9 +31,9 @@ module RAutomation
|
|
31
31
|
# @option locators [String, Regexp] :title Title of the window
|
32
32
|
# @option locators [String, Regexp] :text Visible text of the window
|
33
33
|
# @option locators [String, Regexp] :class Internal class name of the window
|
34
|
-
# @option locators [String,
|
35
|
-
# @option locators [String,
|
36
|
-
# @option locators [String,
|
34
|
+
# @option locators [String, Integer] :hwnd Window handle in decimal format
|
35
|
+
# @option locators [String, Integer] :pid Window process ID (PID)
|
36
|
+
# @option locators [String, Integer] :index 0-based index to specify n-th window if all other criteria match
|
37
37
|
# all other criteria match
|
38
38
|
# @see RAutomation::Window#initialize
|
39
39
|
def initialize(container, locators)
|
@@ -122,10 +122,10 @@ module RAutomation
|
|
122
122
|
# Moves/resizes the window.
|
123
123
|
# @note All coordinates are optional and if not specified current coordinates will be used
|
124
124
|
# @param [Hash] coords for specifying the coordinates.
|
125
|
-
# @option coords [
|
126
|
-
# @option coords [
|
127
|
-
# @option coords [
|
128
|
-
# @option coords [
|
125
|
+
# @option coords [Integer] :left Window coordinate from the left side of screen
|
126
|
+
# @option coords [Integer] :top Window coordinate from the top of the screen
|
127
|
+
# @option coords [Integer] :width Width of window
|
128
|
+
# @option coords [Integer] :height Height of window
|
129
129
|
def move(coords={})
|
130
130
|
@container.wait_until_present
|
131
131
|
rect = dimensions.merge(coords)
|