rautomation 0.17.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.