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.
@@ -1,273 +0,0 @@
1
- == 0.17.0 / 2014-09-29
2
-
3
- === Win32 adapter
4
-
5
- * Fix searching locators by hwnd. See more at issue #96.
6
-
7
- == 0.16.0 / 2014-09-29
8
-
9
- * Loosen up ffi dependency due to fixed segfault problem. See more at issue #81.
10
-
11
- == 0.15.0 / 2014-06-01
12
-
13
- * Fixes #send_keys with special characters. Issue #92.
14
-
15
- == 0.14.1 / 2014-02-05
16
-
17
- * Set ffi 1.9.0 as a dependency for now because newer versions are broken. See more at issue #81.
18
-
19
- == 0.14.0 / 2014-02-05
20
-
21
- === MsUia adapter
22
-
23
- * Add SelectList#select and SelectList#clear.
24
- * Add Table#select and Table#clear.
25
- * Add Table#selected_rows.
26
- * Improve performance of table Row lookups.
27
- * SelectList#options accepts :index and :text (Regexp or String).
28
- * Window#child in ms_uia works for popup windows as well.
29
-
30
- == 0.13.0
31
-
32
- === MsUia adapter
33
-
34
- * Added #select and #clear into SelectList::SelectListOption for multi-select support
35
- * Removed SelectList#select and SelectList#set
36
- * Added #select, #selected? and #clear to Table::Row for multi-select support
37
- * Removed Table#select and Table#selected?
38
- * Fixed an issue with selecting ListBox items that our outside of the viewable area
39
-
40
- == 0.12.0 / 2013-09-05
41
-
42
- === MsUia adapter
43
-
44
- * Add Control#help_text to relay ToolTip information
45
-
46
- == 0.11.0 / 2013-08-10
47
-
48
- === MsUia adapter
49
-
50
- * Add support for Window#spinner
51
-
52
- == 0.10.0 / 2013-07-26
53
-
54
- === MsUia adapter
55
-
56
- * Fixed an issue with trying to interact with a button after it goes away
57
- * Add support for Window#tab_control
58
-
59
- == 0.9.4 / 2013-07-23
60
-
61
- * Add license part of gemspec. Closes #70.
62
-
63
- == 0.9.3 / 2013-07-23
64
-
65
- === MsUia adapter
66
- * Added the ability to limit the scope to children only when looking for a control
67
- * Fixed issues with ListBox controls not firing index change events
68
-
69
- == 0.9.2 / 2013-05-19
70
-
71
- === Win32 adapter
72
-
73
- * Window#send_keys supports now :dash, :slash and :backslash. Closes #64.
74
-
75
- === MsUia adapter
76
-
77
- * Ability to get and set the text of a multi-line text control that only supports the TextPattern.
78
- * Add some caching to speed up locating controls.
79
- * Fix issue #67 that happens when clicking on controls.
80
-
81
- === AutoIt adapter
82
-
83
- * Add deprecation warning.
84
-
85
- == 0.9.1 / 2013-04-26
86
-
87
- === MsUia adapter
88
-
89
- * Ability to interact with controls that do not have native window handles (for example WPF applications).
90
-
91
- == 0.9.0 / 2013-04-22
92
-
93
- === MsUia adapter
94
-
95
- * Add support for :name locator.
96
- * Add support for Window#value_control.
97
- * Add Table#headers.
98
- * Add Table#values.
99
- * Control#exists? uses now uia code.
100
- * ControlType.Document is also considered as a TextField.
101
- * Table#select and Table#selected? use 0-based indexing.
102
- * Table#select supports value too.
103
-
104
- === Win32 adapter
105
-
106
- * Add support for "[", "]" and "'" characters when using Window#send_keys. Fixes #61.
107
-
108
- == 0.8.0 / 2012-12-26
109
-
110
- === MsUia adapter
111
-
112
- * Add Control#collapse for collapsing values in collapsable items.
113
- * Add Control#expand for expanding values in expandable items.
114
- * Add Row#cell(s).
115
- * Add Table#cell(s).
116
- * Add Table#row(s).
117
- * Add Window#menu for selecting menu items.
118
- * Fire change events when SelectList selections have been changed.
119
- * Window#child instantiates MsUia adapter Window.
120
-
121
- == 0.7.3 / 2012-10-31
122
-
123
- === Win32 adapter
124
-
125
- * Add support for PasswordField.
126
-
127
- === AutoIt adapter
128
-
129
- * Show error message when registration of AutoIt dll fails.
130
-
131
- == 0.7.2 / 2012-03-18
132
-
133
- === Win32 adapter
134
-
135
- * add mouse API with Window#mouse method
136
- * add Mouse#move, #position, #click, #press and #release methods
137
-
138
- === AutoIt adapter
139
-
140
- * support the same mouse API as Win32 adapter
141
-
142
- == 0.7.1 / 2012-02-26
143
-
144
- === Win32 adapter
145
-
146
- * add Window#dimensions to get coordinates of the window
147
- * add Window#move to move/resize the window
148
- * fix Window#child not to raise any exceptions for cases where window isn't technically a child
149
-
150
- == Version 0.7.0 / 2012-02-23
151
-
152
- === All adapters
153
-
154
- * renamed WinFfi adapter to Win32 adapter
155
- * added experimental MsUia adapter
156
- * added support for JRuby
157
- * Window.windows accepts locators too
158
- * added Window#class_names for retrieving internal class names of the window and it's controls
159
- * default locator is :index => 0 when nothing else specified
160
-
161
- === Win32 adapter
162
-
163
- * Window#send_keys has now syntax similar to WatirSpec (https://github.com/watir/watirspec/blob/master/element_spec.rb#L206-249)
164
- * added TextField#send_keys
165
-
166
- === AutoIt adapter
167
-
168
- * added Window#mouse_move, #mouse_click, #mouse_position, #press_mouse and #release_mouse methods for AutoIt adapter
169
-
170
-
171
- == Version 0.6.3 / 2011-07-16
172
-
173
- * use current window's handle (hwnd) in WinFfi::Window#child method
174
-
175
-
176
- == Version 0.6.2 / 2011-07-07
177
-
178
- === WinFFI adapter
179
-
180
- * loading lazily oleacc.dll
181
- * loading lazily uia_dll.rb due to problems on certain Windows XP machines
182
-
183
-
184
- == Version 0.6.1 / 2011-07-05
185
-
186
- === WinFFI adapter
187
-
188
- * Fixed it for Ruby 1.9.2.
189
-
190
-
191
- == Version 0.6.0 / 2011-07-03
192
-
193
- === WinFFI adapter
194
-
195
- * Window#send_keys now accepts only String argument similar to AutoIt's Send function.
196
- * added Table#strings, #select, #selected? methods.
197
- * added Label element support with #value method.
198
- * added #has_focus? and #set_focus methods to controls.
199
- * added possibility to search controls by automation id as :id.
200
- * added #enabled? and #disabled? methods for controls.
201
- * added Window#control and #controls methods for accessing controls generally.
202
- * added SelectList#option method.
203
- * added ListBox element support with #count, #items, #exist?, #selected? and #select methods.
204
-
205
-
206
- == Version 0.5.1 / 2011-01-30
207
-
208
- === All adapters
209
-
210
- * added Window.windows, #windows, #buttons and #text_fields methods to retrieve collection of elements and use them with Enumerable/Array methods.
211
-
212
- === WinFFI adapter
213
-
214
- * added Window#child method for searching child windows and popups
215
- * added initial support for Radio, Checkbox, SelectList and Table
216
-
217
- === AutoIt adapter
218
-
219
- * allow to search windows by PID
220
-
221
-
222
- == Version 0.4.0 / 2010-12-23
223
-
224
- * allow to search windows without text (like empty Notepad window for example).
225
- * added possibility to use block for #click to specify successful clicking condition.
226
- * renamed :ffi adapter to :win_ffi because FFI may be used on other platforms too.
227
-
228
-
229
- == Version 0.3.0 / 2010-12-18
230
-
231
- * added Ffi adapter specific method Window#child which searches for child windows and popups
232
-
233
-
234
- == Version 0.2.1 / 2010-12-17
235
-
236
- * added yard options for documentation
237
-
238
-
239
- == Version 0.2.0 / 2010-12-17
240
-
241
- * added Window#pid method
242
-
243
-
244
- == Version 0.1.0 / 2010-12-14
245
-
246
- * added new default adapter for Windows: FFI
247
- * changes for AutoIt adapter:
248
- - added 0-based :index locator for window locators to search for windows with the same criteria.
249
- - renamed text_field and button locator :instance to :index instead.
250
- - :class_name locator is not allowed anymore. Use :class and :index together instead.
251
- - use :value for button locator instead of :text
252
-
253
-
254
- == Version 0.0.4 / 2010-10-27
255
-
256
- * most Window, Button and TextField methods wait until the object exists.
257
- Use RAutomation::Window.wait_timeout= to set timeout before failing. Default is 60 seconds.
258
-
259
-
260
- == Version 0.0.3 / 2010-10-15
261
-
262
- * RAutomation didn't load AutoIt correctly if it wasn't installed before
263
-
264
-
265
- == Version 0.0.2 / 2010-10-14
266
-
267
- * using :value locator for buttons instead of :text
268
- * searching only visible windows with some text on them
269
-
270
-
271
- == Version 0.0.1 / 2010-10-13
272
-
273
- * Initial release
@@ -1,120 +0,0 @@
1
- = RAutomation
2
- {<img src="https://badge.fury.io/rb/rautomation.png" alt="Gem Version" />}[http://badge.fury.io/rb/rautomation]
3
-
4
- * Web: http://www.github.com/jarmo/RAutomation
5
- * Author: Jarmo Pertman (mailto:jarmo.p[at]gmail.com)
6
-
7
- RAutomation is a small and easy to use library for helping out to automate windows and their controls
8
- for automated testing.
9
-
10
- RAutomation provides:
11
- * Easy to use and user-friendly API (inspired by Watir http://www.watir.com)
12
- * Cross-platform compatibility
13
- * Easy extensibility - with small scripting effort it's possible to add support for not yet
14
- supported platforms or technologies
15
-
16
- == USAGE
17
-
18
- require "rautomation"
19
-
20
- window = RAutomation::Window.new(:title => /part of the title/i)
21
- window.exists? # => true
22
-
23
- window.title # => "blah blah part Of the title blah"
24
- window.text # => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies..."
25
-
26
- window.text_field(:class => "Edit", :index => 0).set "hello, world!"
27
- button = window.button(:value => "&Save")
28
- button.exists? # => true
29
- button.click
30
-
31
- all_windows = RAutomation::Window.windows
32
- all_windows.each {|window| puts window.hwnd}
33
-
34
- window = RAutomation::Window.new(:title => /part of the title/i)
35
- windows = window.windows
36
- puts windows.size # => 2
37
- windows.map &:title # => ["part of the title 1", "part of the title 2"]
38
-
39
- window.windows(:title => /part of other title/i) # => all windows with matching specified title
40
-
41
- window.buttons.each {|button| puts button.value}
42
- window.buttons(:value => /some value/i).each {|button| puts button.value}
43
-
44
- window2 = RAutomation::Window.new(:title => "Other Title", :adapter => :autoit) # use AutoIt adapter
45
- # use adapter's (in this case AutoIt's) internal methods not part of the public API directly
46
- window2.WinClose("[TITLE:Other Title]")
47
-
48
- Check out the documentation for other possible usages!
49
-
50
- == INSTALL
51
-
52
- === Windows
53
-
54
- gem install rautomation
55
-
56
- Available adapters:
57
- * :win_32 - uses Windows API directly with FFI (default)
58
- * :ms_uia - an experimental adapter
59
- * :autoit - uses AutoIt for automation (DEPRECATED)
60
-
61
- When using AutoIt adapter:
62
- You might need administrative privileges if running for the first time and you haven't installed AutoIt before!
63
-
64
- === Linux
65
-
66
- Feel yourself at home on Linux and know how to automate windows and their controls? I would be happy if you'd contact me
67
- about that matter - or even better, follow the instructions at "How to create a new adapter?"
68
-
69
- === OS X
70
-
71
- Feel yourself at home on OS X and know how to automate windows and their controls? I would be happy if you'd contact me
72
- about that matter - or even better, follow the instructions at "How to create a new adapter?"
73
-
74
- === Others
75
-
76
- Feel yourself at home on some operating system not listed in here and know how to automate windows and their controls?
77
- Does Ruby also work on that operating system? I would be happy if you'd contact me
78
- about that matter - or even better, follow the instructions at "How to create a new adapter?"
79
-
80
- == How to create a new adapter?
81
-
82
- 1. Fork the project.
83
- 2. Create entry point file to lib/rautomation/adapter which should load all adapter specific files.
84
- 3. Add `autoload` statement into lib/rautomation/adapter/helper.rb for that file.
85
- 4. Create a directory for your adapter's specific code into lib/rautomation/adapter
86
- 5. Copy button.rb, text_field.rb and window.rb from some of the existing adapter's directory.
87
- 6. Add spec data for your adapter into spec/spec_helper DATA constant.
88
- 7. Use environment variable __RAUTOMATION_ADAPTER__ to point to that adapter.
89
- 8. Start coding and spec-ing until as much of possible of the public API is satisfied.
90
- 9. Make me a pull request.
91
-
92
- Don't forget to fix the documentation for that adapter also!
93
-
94
- In case of any problems, feel free to contact me.
95
-
96
- == Contributors
97
-
98
- * Levi Wilson - https://github.com/leviwilson
99
- * Eric Kessler - https://github.com/enkessler
100
- * Stephan Schwab - https://github.com/snscaimito
101
-
102
- == Libraries Using RAutomation
103
-
104
- * watir-classic[https://github.com/watir/watir-classic]
105
- * mohawk[https://github.com/leviwilson/mohawk]
106
-
107
- == Note on Patches/Pull Requests
108
-
109
- * Fork the project.
110
- * Make your feature addition or bug fix.
111
- * Add tests for it. This is important so I don't break it in a
112
- future version unintentionally.
113
- * Commit, do not mess with rakefile, version, or history.
114
-
115
- (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
116
- * Send me a pull request. Bonus points for topic branches.
117
-
118
- == Copyright
119
-
120
- Copyright (c) 2010-2013 Jarmo Pertman. See LICENSE for details.