selenium-webdriver 0.0.9 → 0.0.10

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.
Files changed (135) hide show
  1. data/chrome/prebuilt/Win32/Release/npchromedriver.dll +0 -0
  2. data/chrome/prebuilt/x64/Release/npchromedriver.dll +0 -0
  3. data/chrome/src/extension/background.js +1 -0
  4. data/chrome/src/extension/content_script.js +182 -177
  5. data/chrome/src/extension/manifest-nonwin.json +1 -1
  6. data/chrome/src/extension/manifest-win.json +1 -1
  7. data/chrome/src/rb/lib/selenium/webdriver/chrome/bridge.rb +9 -3
  8. data/chrome/src/rb/lib/selenium/webdriver/chrome/launcher.rb +1 -1
  9. data/common/src/js/core/Blank.html +7 -0
  10. data/common/src/js/core/InjectedRemoteRunner.html +8 -0
  11. data/common/src/js/core/RemoteRunner.html +101 -0
  12. data/common/src/js/core/SeleniumLog.html +109 -0
  13. data/common/src/js/core/TestPrompt.html +145 -0
  14. data/common/src/js/core/TestRunner-splash.html +55 -0
  15. data/common/src/js/core/TestRunner.html +177 -0
  16. data/common/src/js/core/icons/all.png +0 -0
  17. data/common/src/js/core/icons/continue.png +0 -0
  18. data/common/src/js/core/icons/continue_disabled.png +0 -0
  19. data/common/src/js/core/icons/pause.png +0 -0
  20. data/common/src/js/core/icons/pause_disabled.png +0 -0
  21. data/common/src/js/core/icons/selected.png +0 -0
  22. data/common/src/js/core/icons/step.png +0 -0
  23. data/common/src/js/core/icons/step_disabled.png +0 -0
  24. data/common/src/js/core/lib/cssQuery/cssQuery-p.js +6 -0
  25. data/common/src/js/core/lib/cssQuery/src/cssQuery-level2.js +142 -0
  26. data/common/src/js/core/lib/cssQuery/src/cssQuery-level3.js +150 -0
  27. data/common/src/js/core/lib/cssQuery/src/cssQuery-standard.js +53 -0
  28. data/common/src/js/core/lib/cssQuery/src/cssQuery.js +356 -0
  29. data/common/src/js/core/lib/prototype.js +2006 -0
  30. data/common/src/js/core/lib/scriptaculous/builder.js +101 -0
  31. data/common/src/js/core/lib/scriptaculous/controls.js +815 -0
  32. data/common/src/js/core/lib/scriptaculous/dragdrop.js +915 -0
  33. data/common/src/js/core/lib/scriptaculous/effects.js +958 -0
  34. data/common/src/js/core/lib/scriptaculous/scriptaculous.js +47 -0
  35. data/common/src/js/core/lib/scriptaculous/slider.js +283 -0
  36. data/common/src/js/core/lib/scriptaculous/unittest.js +383 -0
  37. data/common/src/js/core/lib/snapsie.js +91 -0
  38. data/common/src/js/core/scripts/find_matching_child.js +69 -0
  39. data/common/src/js/core/scripts/htmlutils.js +1623 -0
  40. data/common/src/js/core/scripts/injection.html +72 -0
  41. data/common/src/js/core/scripts/selenium-api.js +3294 -0
  42. data/common/src/js/core/scripts/selenium-browserbot.js +2430 -0
  43. data/common/src/js/core/scripts/selenium-browserdetect.js +153 -0
  44. data/common/src/js/core/scripts/selenium-commandhandlers.js +379 -0
  45. data/common/src/js/core/scripts/selenium-executionloop.js +175 -0
  46. data/common/src/js/core/scripts/selenium-logging.js +148 -0
  47. data/common/src/js/core/scripts/selenium-remoterunner.js +695 -0
  48. data/common/src/js/core/scripts/selenium-testrunner.js +1362 -0
  49. data/common/src/js/core/scripts/selenium-version.js +5 -0
  50. data/common/src/js/core/scripts/ui-doc.html +808 -0
  51. data/common/src/js/core/scripts/ui-element.js +1644 -0
  52. data/common/src/js/core/scripts/ui-map-sample.js +979 -0
  53. data/common/src/js/core/scripts/user-extensions.js +3 -0
  54. data/common/src/js/core/scripts/user-extensions.js.sample +75 -0
  55. data/common/src/js/core/scripts/xmlextras.js +153 -0
  56. data/common/src/js/core/selenium-logo.png +0 -0
  57. data/common/src/js/core/selenium-test.css +43 -0
  58. data/common/src/js/core/selenium.css +316 -0
  59. data/common/src/js/core/xpath/dom.js +566 -0
  60. data/common/src/js/core/xpath/javascript-xpath-0.1.11.js +2816 -0
  61. data/common/src/js/core/xpath/util.js +549 -0
  62. data/common/src/js/core/xpath/xmltoken.js +149 -0
  63. data/common/src/js/core/xpath/xpath.js +2481 -0
  64. data/common/src/js/jsunit/app/css/jsUnitStyle.css +50 -0
  65. data/common/src/js/jsunit/app/css/readme +10 -0
  66. data/common/src/js/jsunit/app/emptyPage.html +11 -0
  67. data/common/src/js/jsunit/app/jsUnitCore.js +534 -0
  68. data/common/src/js/jsunit/app/jsUnitMockTimeout.js +81 -0
  69. data/common/src/js/jsunit/app/jsUnitTestManager.js +705 -0
  70. data/common/src/js/jsunit/app/jsUnitTestSuite.js +44 -0
  71. data/common/src/js/jsunit/app/jsUnitTracer.js +102 -0
  72. data/common/src/js/jsunit/app/jsUnitVersionCheck.js +59 -0
  73. data/common/src/js/jsunit/app/main-counts-errors.html +12 -0
  74. data/common/src/js/jsunit/app/main-counts-failures.html +13 -0
  75. data/common/src/js/jsunit/app/main-counts-runs.html +13 -0
  76. data/common/src/js/jsunit/app/main-counts.html +21 -0
  77. data/common/src/js/jsunit/app/main-data.html +178 -0
  78. data/common/src/js/jsunit/app/main-errors.html +23 -0
  79. data/common/src/js/jsunit/app/main-frame.html +19 -0
  80. data/common/src/js/jsunit/app/main-loader.html +45 -0
  81. data/common/src/js/jsunit/app/main-progress.html +25 -0
  82. data/common/src/js/jsunit/app/main-results.html +67 -0
  83. data/common/src/js/jsunit/app/main-status.html +13 -0
  84. data/common/src/js/jsunit/app/testContainer.html +16 -0
  85. data/common/src/js/jsunit/app/testContainerController.html +77 -0
  86. data/common/src/js/jsunit/app/xbDebug.js +306 -0
  87. data/common/src/js/jsunit/changelog.txt +60 -0
  88. data/common/src/js/jsunit/css/jsUnitStyle.css +83 -0
  89. data/common/src/js/jsunit/images/green.gif +0 -0
  90. data/common/src/js/jsunit/images/logo_jsunit.gif +0 -0
  91. data/common/src/js/jsunit/images/powerby-transparent.gif +0 -0
  92. data/common/src/js/jsunit/images/red.gif +0 -0
  93. data/common/src/js/jsunit/licenses/JDOM_license.txt +56 -0
  94. data/common/src/js/jsunit/licenses/Jetty_license.html +213 -0
  95. data/common/src/js/jsunit/licenses/MPL-1.1.txt +470 -0
  96. data/common/src/js/jsunit/licenses/gpl-2.txt +340 -0
  97. data/common/src/js/jsunit/licenses/index.html +141 -0
  98. data/common/src/js/jsunit/licenses/lgpl-2.1.txt +504 -0
  99. data/common/src/js/jsunit/licenses/mpl-tri-license-c.txt +35 -0
  100. data/common/src/js/jsunit/licenses/mpl-tri-license-html.txt +35 -0
  101. data/common/src/js/jsunit/readme.txt +19 -0
  102. data/common/src/js/jsunit/testRunner.html +167 -0
  103. data/common/src/js/jsunit/version.txt +1 -0
  104. data/common/src/rb/README +29 -0
  105. data/common/src/rb/lib/selenium/webdriver/driver.rb +124 -12
  106. data/common/src/rb/lib/selenium/webdriver/element.rb +119 -3
  107. data/common/src/rb/lib/selenium/webdriver/error.rb +1 -2
  108. data/common/src/rb/lib/selenium/webdriver/find.rb +19 -2
  109. data/common/src/rb/lib/selenium/webdriver/keys.rb +5 -1
  110. data/common/src/rb/lib/selenium/webdriver/navigation.rb +8 -4
  111. data/common/src/rb/lib/selenium/webdriver/platform.rb +4 -2
  112. data/common/src/rb/lib/selenium/webdriver/target_locator.rb +18 -0
  113. data/firefox/prebuilt/Win32/Release/webdriver-firefox.dll +0 -0
  114. data/firefox/prebuilt/linux/Release/libwebdriver-firefox.so +0 -0
  115. data/firefox/prebuilt/linux/Release/x_ignore_nofocus.so +0 -0
  116. data/firefox/prebuilt/linux64/Release/libwebdriver-firefox.so +0 -0
  117. data/firefox/prebuilt/linux64/Release/x_ignore_nofocus.so +0 -0
  118. data/firefox/src/extension/components/utils.js +13 -2
  119. data/firefox/src/extension/install.rdf +1 -1
  120. data/firefox/src/rb/lib/selenium/webdriver/firefox.rb +3 -2
  121. data/firefox/src/rb/lib/selenium/webdriver/firefox/binary.rb +1 -7
  122. data/firefox/src/rb/lib/selenium/webdriver/firefox/bridge.rb +11 -4
  123. data/firefox/src/rb/lib/selenium/webdriver/firefox/profile.rb +56 -15
  124. data/firefox/src/rb/lib/selenium/webdriver/firefox/util.rb +1 -1
  125. data/jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll +0 -0
  126. data/jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll +0 -0
  127. data/jobbie/src/rb/lib/selenium/webdriver/ie/bridge.rb +10 -5
  128. data/jobbie/src/rb/lib/selenium/webdriver/ie/util.rb +9 -10
  129. data/remote/client/src/rb/lib/selenium/webdriver/remote/bridge.rb +4 -2
  130. data/remote/client/src/rb/lib/selenium/webdriver/remote/capabilities.rb +23 -23
  131. metadata +103 -6
  132. data/jobbie/prebuilt/Win32/Release/webdriver-ie-test.dll +0 -0
  133. data/jobbie/prebuilt/Win32/Release/webdriver-ie.dll +0 -0
  134. data/jobbie/prebuilt/x64/Release/webdriver-ie-test.dll +0 -0
  135. data/jobbie/prebuilt/x64/Release/webdriver-ie.dll +0 -0
@@ -0,0 +1,35 @@
1
+ /* ***** BEGIN LICENSE BLOCK *****
2
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3
+ *
4
+ * The contents of this file are subject to the Mozilla Public License Version
5
+ * 1.1 (the "License"); you may not use this file except in compliance with
6
+ * the License. You may obtain a copy of the License at
7
+ * http://www.mozilla.org/MPL/
8
+ *
9
+ * Software distributed under the License is distributed on an "AS IS" basis,
10
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
+ * for the specific language governing rights and limitations under the
12
+ * License.
13
+ *
14
+ * The Original Code is __________________________________________.
15
+ *
16
+ * The Initial Developer of the Original Code is
17
+ * ____________________________________________.
18
+ * Portions created by the Initial Developer are Copyright (C) 2___
19
+ * the Initial Developer. All Rights Reserved.
20
+ *
21
+ * Contributor(s):
22
+ *
23
+ * Alternatively, the contents of this file may be used under the terms of
24
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
25
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26
+ * in which case the provisions of the GPL or the LGPL are applicable instead
27
+ * of those above. If you wish to allow use of your version of this file only
28
+ * under the terms of either the GPL or the LGPL, and not to allow others to
29
+ * use your version of this file under the terms of the MPL, indicate your
30
+ * decision by deleting the provisions above and replace them with the notice
31
+ * and other provisions required by the GPL or the LGPL. If you do not delete
32
+ * the provisions above, a recipient may use your version of this file under
33
+ * the terms of any one of the MPL, the GPL or the LGPL.
34
+ *
35
+ * ***** END LICENSE BLOCK ***** */
@@ -0,0 +1,35 @@
1
+ <!-- ***** BEGIN LICENSE BLOCK *****
2
+ - Version: MPL 1.1/GPL 2.0/LGPL 2.1
3
+ -
4
+ - The contents of this file are subject to the Mozilla Public License Version
5
+ - 1.1 (the "License"); you may not use this file except in compliance with
6
+ - the License. You may obtain a copy of the License at
7
+ - http://www.mozilla.org/MPL/
8
+ -
9
+ - Software distributed under the License is distributed on an "AS IS" basis,
10
+ - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
+ - for the specific language governing rights and limitations under the
12
+ - License.
13
+ -
14
+ - The Original Code is __________________________________________.
15
+ -
16
+ - The Initial Developer of the Original Code is
17
+ - ____________________________________________.
18
+ - Portions created by the Initial Developer are Copyright (C) 2___
19
+ - the Initial Developer. All Rights Reserved.
20
+ -
21
+ - Contributor(s):
22
+ -
23
+ - Alternatively, the contents of this file may be used under the terms of
24
+ - either the GNU General Public License Version 2 or later (the "GPL"), or
25
+ - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26
+ - in which case the provisions of the GPL or the LGPL are applicable instead
27
+ - of those above. If you wish to allow use of your version of this file only
28
+ - under the terms of either the GPL or the LGPL, and not to allow others to
29
+ - use your version of this file under the terms of the MPL, indicate your
30
+ - decision by deleting the provisions above and replace them with the notice
31
+ - and other provisions required by the LGPL or the GPL. If you do not delete
32
+ - the provisions above, a recipient may use your version of this file under
33
+ - the terms of any one of the MPL, the GPL or the LGPL.
34
+ -
35
+ - ***** END LICENSE BLOCK ***** -->
@@ -0,0 +1,19 @@
1
+ JsUnit
2
+ Copyright (C) 2001-6 Edward Hieatt, edward@jsunit.net
3
+
4
+ This program is free software; you can redistribute it and/or
5
+ modify it under the terms of the GNU General Public License
6
+ as published by the Free Software Foundation; either version 2
7
+ of the License, or (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License
15
+ along with this program; if not, write to the Free Software
16
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
+
18
+ Please see http://www.jsunit.net/ for JsUnit documentation and
19
+ the "licenses" directory for license information.
@@ -0,0 +1,167 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
2
+ <html>
3
+
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6
+ <title>JsUnit Test Runner</title>
7
+ <script language="JavaScript" type="text/javascript" src="app/xbDebug.js"></script>
8
+ <script language="JavaScript" type="text/javascript" src="app/jsUnitCore.js"></script>
9
+ <script language="JavaScript" type="text/javascript">
10
+ var DEFAULT_TEST_FRAME_HEIGHT = 250;
11
+
12
+ function jsUnitParseParms(string) {
13
+ var i;
14
+ var searchString = unescape(string);
15
+ var parameterHash = new Object();
16
+
17
+ if (!searchString) {
18
+ return parameterHash;
19
+ }
20
+
21
+ i = searchString.indexOf('?');
22
+ if (i != -1) {
23
+ searchString = searchString.substring(i + 1);
24
+ }
25
+
26
+ var parmList = searchString.split('&');
27
+ var a;
28
+ for (i = 0; i < parmList.length; i++) {
29
+ a = parmList[i].split('=');
30
+ a[0] = a[0].toLowerCase();
31
+ if (a.length > 1) {
32
+ parameterHash[a[0]] = a[1];
33
+ }
34
+ else {
35
+ parameterHash[a[0]] = true;
36
+ }
37
+ }
38
+ return parameterHash;
39
+ }
40
+
41
+ function jsUnitConstructTestParms() {
42
+ var p;
43
+ var parms = '';
44
+
45
+ for (p in jsUnitParmHash) {
46
+ var value = jsUnitParmHash[p];
47
+
48
+ if (!value ||
49
+ p == 'testpage' ||
50
+ p == 'autorun' ||
51
+ p == 'submitresults' ||
52
+ p == 'showtestframe' ||
53
+ p == 'resultid') {
54
+ continue;
55
+ }
56
+
57
+ if (parms) {
58
+ parms += '&';
59
+ }
60
+
61
+ parms += p;
62
+
63
+ if (typeof(value) != 'boolean') {
64
+ parms += '=' + value;
65
+ }
66
+ }
67
+ return escape(parms);
68
+ }
69
+
70
+ var jsUnitParmHash = jsUnitParseParms(document.location.search);
71
+
72
+ // set to true to turn debugging code on, false to turn it off.
73
+ xbDEBUG.on = jsUnitGetParm('debug') ? true : false;
74
+ </script>
75
+
76
+ <script language="JavaScript" type="text/javascript" src="app/jsUnitTestManager.js"></script>
77
+ <script language="JavaScript" type="text/javascript" src="app/jsUnitTracer.js"></script>
78
+ <script language="JavaScript" type="text/javascript" src="app/jsUnitTestSuite.js"></script>
79
+ <script language="JavaScript" type="text/javascript">
80
+
81
+ var testManager;
82
+ var utility;
83
+ var tracer;
84
+
85
+
86
+ if (!Array.prototype.push) {
87
+ Array.prototype.push = function (anObject) {
88
+ this[this.length] = anObject;
89
+ }
90
+ }
91
+
92
+ if (!Array.prototype.pop) {
93
+ Array.prototype.pop = function () {
94
+ if (this.length > 0) {
95
+ delete this[this.length - 1];
96
+ this.length--;
97
+ }
98
+ }
99
+ }
100
+
101
+ function shouldKickOffTestsAutomatically() {
102
+ return jsUnitGetParm('autorun') == "true";
103
+ }
104
+
105
+ function shouldShowTestFrame() {
106
+ return jsUnitGetParm('showtestframe');
107
+ }
108
+
109
+ function shouldSubmitResults() {
110
+ return jsUnitGetParm('submitresults');
111
+ }
112
+
113
+ function getResultId() {
114
+ if (jsUnitGetParm('resultid'))
115
+ return jsUnitGetParm('resultid');
116
+ return "";
117
+ }
118
+
119
+ function submitResults() {
120
+ window.mainFrame.mainData.document.testRunnerForm.runButton.disabled = true;
121
+ window.mainFrame.mainResults.populateHeaderFields(getResultId(), navigator.userAgent, JSUNIT_VERSION, testManager.resolveUserEnteredTestFileName());
122
+ window.mainFrame.mainResults.submitResults();
123
+ }
124
+
125
+ function wasResultUrlSpecified() {
126
+ return shouldSubmitResults() && jsUnitGetParm('submitresults') != 'true';
127
+ }
128
+
129
+ function getSpecifiedResultUrl() {
130
+ return jsUnitGetParm('submitresults');
131
+ }
132
+
133
+ function init() {
134
+ var testRunnerFrameset = document.getElementById('testRunnerFrameset');
135
+ if (shouldShowTestFrame() && testRunnerFrameset) {
136
+ var testFrameHeight;
137
+ if (jsUnitGetParm('showtestframe') == 'true')
138
+ testFrameHeight = DEFAULT_TEST_FRAME_HEIGHT;
139
+ else
140
+ testFrameHeight = jsUnitGetParm('showtestframe');
141
+ testRunnerFrameset.rows = '*,0,' + testFrameHeight;
142
+ }
143
+ testManager = new jsUnitTestManager();
144
+ tracer = new JsUnitTracer(testManager);
145
+ if (shouldKickOffTestsAutomatically()) {
146
+ window.mainFrame.mainData.kickOffTests();
147
+ }
148
+ }
149
+
150
+
151
+ </script>
152
+ </head>
153
+
154
+ <frameset id="testRunnerFrameset" rows="*,0,0" border="0" onload="init()">
155
+
156
+ <frame frameborder="0" name="mainFrame" src="./app/main-frame.html">
157
+ <frame frameborder="0" name="documentLoader" src="./app/main-loader.html">
158
+ <frame frameborder="0" name="testContainer" src="./app/testContainer.html">
159
+
160
+ <noframes>
161
+ <body>
162
+ <p>Sorry, JsUnit requires support for frames.</p>
163
+ </body>
164
+ </noframes>
165
+ </frameset>
166
+
167
+ </html>
@@ -0,0 +1 @@
1
+ JsUnit 22.2 alpha 11
@@ -0,0 +1,29 @@
1
+ = selenium-webdriver
2
+
3
+ This gem provides Ruby bindings for WebDriver and has been tested to work on MRI (1.8.6 through 1.9), JRuby and Rubinius.
4
+
5
+ = INSTALL
6
+
7
+ gem install selenium-webdriver
8
+
9
+ = LINKS
10
+
11
+ * http://gemcutter.org/gems/selenium-webdriver
12
+ * http://code.google.com/p/selenium/wiki/RubyBindings
13
+ * http://code.google.com/p/selenium/issues/list
14
+
15
+ = LICENSE
16
+
17
+ Copyright 2009 WebDriver committers
18
+
19
+ Licensed under the Apache License, Version 2.0 (the "License");
20
+ you may not use this file except in compliance with the License.
21
+ You may obtain a copy of the License at
22
+
23
+ http://www.apache.org/licenses/LICENSE-2.0
24
+
25
+ Unless required by applicable law or agreed to in writing, software
26
+ distributed under the License is distributed on an "AS IS" BASIS,
27
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28
+ See the License for the specific language governing permissions and
29
+ limitations under the License.
@@ -1,11 +1,33 @@
1
1
  module Selenium
2
2
  module WebDriver
3
+
4
+ #
5
+ # The main class through which you control the browser.
6
+ #
7
+ # @see Find
8
+ # @see Navigation
9
+ # @see TargetLocator
10
+ # @see Options
11
+ #
12
+
3
13
  class Driver
4
14
  include Find
5
15
 
6
16
  attr_reader :bridge
7
17
 
8
18
  class << self
19
+
20
+ #
21
+ # Create a new Driver instance with the correct bridge for the given browser
22
+ #
23
+ # @param browser [Symbol]
24
+ # the driver type to use
25
+ # @param *rest
26
+ # arguments passed to the Bridge.new
27
+ #
28
+ # @return [Driver]
29
+ #
30
+
9
31
  def for(browser, *args)
10
32
  bridge = case browser
11
33
  when :ie, :internet_explorer
@@ -30,6 +52,12 @@ module Selenium
30
52
  end
31
53
  end
32
54
 
55
+ #
56
+ # A new Driver instance
57
+ #
58
+ # @api private
59
+ #
60
+
33
61
  def initialize(bridge)
34
62
  @bridge = bridge
35
63
  end
@@ -38,54 +66,140 @@ module Selenium
38
66
  '#<%s:0x%x browser=%s>' % [self.class, hash*2, bridge.browser.inspect]
39
67
  end
40
68
 
69
+ #
70
+ # @return [Navigation]
71
+ # @see Navigation
72
+ #
73
+
41
74
  def navigate
42
75
  @navigate ||= WebDriver::Navigation.new(self)
43
76
  end
44
77
 
78
+ #
79
+ # @return [TargetLocator]
80
+ # @see TargetLocator
81
+ #
82
+
45
83
  def switch_to
46
84
  @switch_to ||= WebDriver::TargetLocator.new(self)
47
85
  end
48
86
 
87
+ #
88
+ # @return [Options]
89
+ # @see Options
90
+ #
91
+
49
92
  def manage
50
93
  @manage ||= WebDriver::Options.new(self)
51
94
  end
52
95
 
96
+ #
97
+ # Opens the specified URL in the browser.
98
+ #
99
+
100
+ def get(url)
101
+ navigate.to(url)
102
+ end
103
+
104
+ #
105
+ # Get the URL of the current page
106
+ #
107
+ # @return [String]
108
+ #
109
+
53
110
  def current_url
54
111
  bridge.getCurrentUrl
55
112
  end
56
113
 
114
+ #
115
+ # Get the title of the current page
116
+ #
117
+ # @return [String]
118
+ #
119
+
57
120
  def title
58
121
  bridge.getTitle
59
122
  end
60
123
 
124
+ #
125
+ # Get the source of the current page
126
+ #
127
+ # @return [String]
128
+ #
129
+
61
130
  def page_source
62
131
  bridge.getPageSource
63
132
  end
64
133
 
134
+ #
135
+ # Get the visibility of the browser. Not applicable for all browsers.
136
+ #
137
+ # @return [Boolean]
138
+ #
139
+
65
140
  def visible?
66
141
  bridge.getBrowserVisible
67
142
  end
68
143
 
144
+ #
145
+ # Set the visibility of the browser. Not applicable for all browsers.
146
+ #
147
+ # @param [Boolean]
148
+ #
149
+
69
150
  def visible=(bool)
70
151
  bridge.setBrowserVisible bool
71
152
  end
72
153
 
154
+ #
155
+ # Quit the browser
156
+ #
157
+
73
158
  def quit
74
159
  bridge.quit
75
160
  end
76
161
 
162
+ #
163
+ # Close the current window, or the browser if no windows are left.
164
+ #
165
+
77
166
  def close
78
167
  bridge.close
79
168
  end
80
169
 
170
+ #
171
+ # Get the window handles of open browser windows.
172
+ #
173
+ # @return [Array]
174
+ # @see TargetLocator#window
175
+ #
176
+
81
177
  def window_handles
82
178
  bridge.getWindowHandles
83
179
  end
84
180
 
181
+ #
182
+ # Get the current window handle
183
+ #
184
+ # @return [String]
185
+ #
186
+
85
187
  def window_handle
86
188
  bridge.getCurrentWindowHandle
87
189
  end
88
190
 
191
+ #
192
+ # Execute the given JavaScript
193
+ #
194
+ # @param [String] script
195
+ # JavaScript source to execute
196
+ # @param [WebDriver::Element,Integer, Float, Boolean, NilClass, String, Array] *args
197
+ # Arguments will be available in the given script as the 'arguments' array.
198
+ #
199
+ # @return [WebDriver::Element,Integer,Float,Boolean,NilClass,String,Array]
200
+ # The value returned from the script.
201
+ #
202
+
89
203
  def execute_script(script, *args)
90
204
  bridge.executeScript(script, *args)
91
205
  end
@@ -93,33 +207,29 @@ module Selenium
93
207
  #-------------------------------- sugar --------------------------------
94
208
 
95
209
  #
96
- # driver.first(:id, 'foo')
210
+ # driver.first(:id, 'foo')
97
211
  #
98
212
 
99
213
  alias_method :first, :find_element
100
214
 
101
215
  #
102
- # driver.all(:class, 'bar') #=> [#<WebDriver::Element:0x1011c3b88, ...]
216
+ # driver.all(:class, 'bar') #=> [#<WebDriver::Element:0x1011c3b88, ...]
103
217
  #
104
218
 
105
219
  alias_method :all, :find_elements
106
220
 
107
221
  #
108
- # opens the specified URL in the browser.
109
- #
110
-
111
- def get(url)
112
- navigate.to(url)
113
- end
114
-
115
- #
116
- # driver.script('function() { ... };')
222
+ # driver.script('function() { ... };')
117
223
  #
118
224
 
119
225
  alias_method :script, :execute_script
120
226
 
227
+ # Get the first element matching the given id.
121
228
  #
122
- # driver['someElementId'] #=> #<WebDriver::Element:0x1011c3b88>
229
+ # @param [String] id
230
+ # @return [WebDriver::Element]
231
+ #
232
+ # driver['someElementId'] #=> #<WebDriver::Element:0x1011c3b88>
123
233
  #
124
234
 
125
235
  def [](id)
@@ -130,6 +240,8 @@ module Selenium
130
240
  #
131
241
  # for Find
132
242
  #
243
+ # @api private
244
+ #
133
245
 
134
246
  def ref
135
247
  nil