bauxite 0.6.18 → 0.6.19

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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -21
  3. data/README.md +293 -293
  4. data/Rakefile +128 -128
  5. data/bin/bauxite +27 -27
  6. data/doc/Bauxite.html +6 -9
  7. data/doc/Bauxite/Action.html +298 -315
  8. data/doc/Bauxite/ActionModule.html +23 -26
  9. data/doc/Bauxite/Application.html +36 -38
  10. data/doc/Bauxite/Context.html +303 -303
  11. data/doc/Bauxite/Errors.html +6 -9
  12. data/doc/Bauxite/Errors/AssertionError.html +6 -9
  13. data/doc/Bauxite/Errors/FileNotFoundError.html +6 -9
  14. data/doc/Bauxite/Errors/FormatError.html +6 -9
  15. data/doc/Bauxite/Loggers.html +6 -9
  16. data/doc/Bauxite/Loggers/CompositeLogger.html +29 -32
  17. data/doc/Bauxite/Loggers/EchoLogger.html +10 -13
  18. data/doc/Bauxite/Loggers/FileLogger.html +25 -28
  19. data/doc/Bauxite/Loggers/HtmlLogger.html +99 -102
  20. data/doc/Bauxite/Loggers/NullLogger.html +16 -19
  21. data/doc/Bauxite/Loggers/ReportLogger.html +43 -46
  22. data/doc/Bauxite/Loggers/TerminalLogger.html +76 -79
  23. data/doc/Bauxite/Loggers/XtermLogger.html +28 -31
  24. data/doc/Bauxite/Parser.html +87 -89
  25. data/doc/Bauxite/ParserModule.html +19 -22
  26. data/doc/Bauxite/Selector.html +99 -105
  27. data/doc/Bauxite/SelectorModule.html +27 -30
  28. data/doc/README_md.html +117 -103
  29. data/doc/created.rid +58 -58
  30. data/doc/fonts.css +167 -167
  31. data/doc/fonts/Lato-Light.ttf +0 -0
  32. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  33. data/doc/fonts/Lato-Regular.ttf +0 -0
  34. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  35. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  36. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  37. data/doc/images/add.png +0 -0
  38. data/doc/images/arrow_up.png +0 -0
  39. data/doc/images/brick.png +0 -0
  40. data/doc/images/brick_link.png +0 -0
  41. data/doc/images/bug.png +0 -0
  42. data/doc/images/bullet_black.png +0 -0
  43. data/doc/images/bullet_toggle_minus.png +0 -0
  44. data/doc/images/bullet_toggle_plus.png +0 -0
  45. data/doc/images/date.png +0 -0
  46. data/doc/images/delete.png +0 -0
  47. data/doc/images/find.png +0 -0
  48. data/doc/images/loadingAnimation.gif +0 -0
  49. data/doc/images/macFFBgHack.png +0 -0
  50. data/doc/images/package.png +0 -0
  51. data/doc/images/page_green.png +0 -0
  52. data/doc/images/page_white_text.png +0 -0
  53. data/doc/images/page_white_width.png +0 -0
  54. data/doc/images/plugin.png +0 -0
  55. data/doc/images/ruby.png +0 -0
  56. data/doc/images/tag_blue.png +0 -0
  57. data/doc/images/tag_green.png +0 -0
  58. data/doc/images/transparent.png +0 -0
  59. data/doc/images/wrench.png +0 -0
  60. data/doc/images/wrench_orange.png +0 -0
  61. data/doc/images/zoom.png +0 -0
  62. data/doc/index.html +117 -103
  63. data/doc/js/darkfish.js +32 -11
  64. data/doc/js/jquery.js +0 -0
  65. data/doc/js/navigation.js +0 -0
  66. data/doc/js/search.js +0 -0
  67. data/doc/js/search_index.js +1 -1
  68. data/doc/js/searcher.js +0 -0
  69. data/doc/rdoc.css +580 -580
  70. data/doc/table_of_contents.html +69 -72
  71. data/lib/bauxite.rb +28 -28
  72. data/lib/bauxite/actions/alias.rb +51 -51
  73. data/lib/bauxite/actions/assert.rb +49 -49
  74. data/lib/bauxite/actions/asserth.rb +60 -60
  75. data/lib/bauxite/actions/assertm.rb +49 -49
  76. data/lib/bauxite/actions/assertv.rb +40 -40
  77. data/lib/bauxite/actions/assertw.rb +47 -47
  78. data/lib/bauxite/actions/break.rb +39 -39
  79. data/lib/bauxite/actions/capture.rb +61 -61
  80. data/lib/bauxite/actions/click.rb +36 -36
  81. data/lib/bauxite/actions/debug.rb +103 -103
  82. data/lib/bauxite/actions/doif.rb +43 -43
  83. data/lib/bauxite/actions/dounless.rb +43 -43
  84. data/lib/bauxite/actions/echo.rb +36 -36
  85. data/lib/bauxite/actions/exec.rb +46 -46
  86. data/lib/bauxite/actions/exit.rb +35 -35
  87. data/lib/bauxite/actions/failif.rb +52 -52
  88. data/lib/bauxite/actions/js.rb +41 -41
  89. data/lib/bauxite/actions/load.rb +49 -49
  90. data/lib/bauxite/actions/open.rb +35 -35
  91. data/lib/bauxite/actions/params.rb +40 -40
  92. data/lib/bauxite/actions/replace.rb +37 -37
  93. data/lib/bauxite/actions/reset.rb +38 -38
  94. data/lib/bauxite/actions/return.rb +68 -68
  95. data/lib/bauxite/actions/ruby.rb +58 -58
  96. data/lib/bauxite/actions/select.rb +48 -48
  97. data/lib/bauxite/actions/set.rb +39 -39
  98. data/lib/bauxite/actions/setif.rb +44 -44
  99. data/lib/bauxite/actions/source.rb +44 -44
  100. data/lib/bauxite/actions/store.rb +38 -38
  101. data/lib/bauxite/actions/submit.rb +37 -37
  102. data/lib/bauxite/actions/test.rb +67 -67
  103. data/lib/bauxite/actions/tryload.rb +71 -71
  104. data/lib/bauxite/actions/wait.rb +38 -38
  105. data/lib/bauxite/actions/write.rb +44 -44
  106. data/lib/bauxite/application.rb +349 -349
  107. data/lib/bauxite/core/action.rb +199 -199
  108. data/lib/bauxite/core/context.rb +791 -791
  109. data/lib/bauxite/core/errors.rb +41 -41
  110. data/lib/bauxite/core/logger.rb +169 -169
  111. data/lib/bauxite/core/parser.rb +85 -85
  112. data/lib/bauxite/core/selector.rb +152 -152
  113. data/lib/bauxite/loggers/composite.rb +91 -91
  114. data/lib/bauxite/loggers/echo.rb +36 -36
  115. data/lib/bauxite/loggers/file.rb +68 -68
  116. data/lib/bauxite/loggers/html.rb +154 -154
  117. data/lib/bauxite/loggers/terminal.rb +134 -134
  118. data/lib/bauxite/loggers/xterm.rb +101 -101
  119. data/lib/bauxite/parsers/csv.rb +43 -43
  120. data/lib/bauxite/parsers/default.rb +42 -42
  121. data/lib/bauxite/parsers/html.rb +79 -79
  122. data/lib/bauxite/selectors/attr.rb +39 -39
  123. data/lib/bauxite/selectors/frame.rb +60 -60
  124. data/lib/bauxite/selectors/json.rb +88 -88
  125. data/lib/bauxite/selectors/sid.rb +38 -38
  126. data/lib/bauxite/selectors/smart.rb +80 -80
  127. data/lib/bauxite/selectors/window.rb +77 -77
  128. data/test/alert.bxt +3 -3
  129. data/test/alert/page.html +4 -4
  130. data/test/alias.bxt +9 -9
  131. data/test/asserth.bxt +2 -2
  132. data/test/assertv.bxt +1 -1
  133. data/test/assertw.bxt +7 -7
  134. data/test/broken.bxt.manual +0 -0
  135. data/test/bug_load_path.bxt.manual +0 -0
  136. data/test/bug_load_path/broken.bxt.manual +0 -0
  137. data/test/bug_load_path/test.bxt +0 -0
  138. data/test/capture.bxt.manual +20 -20
  139. data/test/capture/my_test.bxt +1 -1
  140. data/test/capture/page.html +6 -6
  141. data/test/capture_on_error.bxt.manual +3 -3
  142. data/test/capture_on_error/my_test.bxt +1 -1
  143. data/test/capture_on_error/page.html +2 -2
  144. data/test/debug.bxt.manual +0 -0
  145. data/test/default_selector.bxt.manual +7 -7
  146. data/test/default_selector/page.html +10 -10
  147. data/test/default_selector_var.bxt +1 -1
  148. data/test/delay.bxt +2 -2
  149. data/test/delay/page.html +4 -4
  150. data/test/doif.bxt +6 -6
  151. data/test/dounless.bxt +6 -6
  152. data/test/exec.bxt +6 -6
  153. data/test/exit.bxt +3 -3
  154. data/test/exit/test.bxt +3 -3
  155. data/test/extension.bxt.manual +4 -4
  156. data/test/extension/custom.rb +12 -12
  157. data/test/extension/page.html +4 -4
  158. data/test/failif.bxt +7 -7
  159. data/test/failif/page.html +5 -5
  160. data/test/format.bxt +17 -17
  161. data/test/format/page.html +6 -6
  162. data/test/frame.bxt +6 -6
  163. data/test/frame/child_frame.html +6 -6
  164. data/test/frame/grandchild_frame.html +4 -4
  165. data/test/frame/page.html +4 -4
  166. data/test/js.bxt +4 -4
  167. data/test/json.bxt +19 -19
  168. data/test/json/array.json +3 -3
  169. data/test/json/object.json +13 -13
  170. data/test/load.bxt +18 -18
  171. data/test/load/child.bxt +12 -12
  172. data/test/parsers.bxt +1 -1
  173. data/test/parsers.csv +7 -7
  174. data/test/parsers.html +32 -32
  175. data/test/parsers/page.html +6 -6
  176. data/test/return.bxt +1 -1
  177. data/test/return/f1.bxt +1 -1
  178. data/test/return/f2.bxt +1 -1
  179. data/test/return/f3.bxt +1 -1
  180. data/test/return/f4.bxt +2 -2
  181. data/test/ruby.bxt +1 -1
  182. data/test/ruby/custom.rb +5 -5
  183. data/test/select.bxt +9 -9
  184. data/test/select/page.html +8 -8
  185. data/test/selectors.bxt +7 -7
  186. data/test/selectors/page.html +6 -6
  187. data/test/set_builtin.bxt +5 -0
  188. data/test/set_builtin/page.html +5 -0
  189. data/test/setif.bxt +3 -3
  190. data/test/smart_selector.bxt +17 -17
  191. data/test/smart_selector/page.html +17 -17
  192. data/test/stdin.bxt +0 -0
  193. data/test/submit.bxt +4 -4
  194. data/test/submit/page.html +6 -6
  195. data/test/submit/page2.html +4 -4
  196. data/test/test.bxt.manual +6 -6
  197. data/test/test/test1.bxt +2 -2
  198. data/test/test/test2.bxt +3 -3
  199. data/test/test/test3.bxt +2 -2
  200. data/test/test/test4.bxt +1 -1
  201. data/test/test/test5.bxt +1 -1
  202. data/test/window.bxt +14 -14
  203. data/test/window/page.html +5 -5
  204. data/test/window/popup.html +4 -4
  205. metadata +5 -3
data/Rakefile CHANGED
@@ -1,129 +1,129 @@
1
- task :default => [:test, :doc]
2
-
3
- CURRENT_VERSION = `ruby -Ilib bin/bauxite --version`.gsub(/^.* /, '')
4
-
5
- # === Gem Package =========================================================== #
6
- require 'rubygems'
7
- require 'rubygems/package_task'
8
-
9
- spec = Gem::Specification.new do |s|
10
- s.name = 'bauxite'
11
- s.summary = 'Bauxite is a façade over Selenium intended for non-developers'
12
- s.description = 'Bauxite is a façade over Selenium intended for non-developers. The idea behind this project was to create a tool that allows non-developers to write web tests in a human-readable language. Another major requirement is to be able to easily extend the test language to create functional abstractions over technical details.'
13
- s.author = 'Patricio Zavolinsky'
14
- s.email = 'pzavolinsky at yahoo dot com dot ar'
15
- s.homepage = 'https://github.com/pzavolinsky/bauxite'
16
- s.license = 'MIT'
17
- s.version = CURRENT_VERSION
18
- s.executables = ["bauxite"]
19
- s.add_runtime_dependency 'selenium-webdriver', '~> 2.47'
20
- s.add_development_dependency 'rake' , '~> 10.1'
21
- s.files = FileList[
22
- 'LICENSE',
23
- 'README.md',
24
- 'Rakefile',
25
- 'bin/*',
26
- 'lib/**/*.rb',
27
- 'test/**/*',
28
- 'doc/**/*'
29
- ]
30
- end
31
-
32
- task :package => [ :test, :doc ]
33
- task :gem => [ :test, :doc ]
34
-
35
- Gem::PackageTask.new(spec) do |pkg|
36
- pkg.need_zip = true
37
- pkg.need_tar = true
38
- end
39
-
40
- # === Integration tests ===================================================== #
41
- desc "Run integration tests"
42
- task :test do
43
- test_files = Dir[File.join('test', '*.bxt')].select { |f| not File.directory? f }.join(' ')
44
- ruby "-Ilib bin/bauxite -v #{test_files}"
45
-
46
- ruby "-Ilib bin/bauxite -v -e test/extension #{File.join('test', 'extension.bxt.manual')}"
47
-
48
- ruby "-Ilib bin/bauxite -v -s css test/default_selector.bxt.manual"
49
-
50
- system("ruby -Ilib bin/bauxite test/test.bxt.manual")
51
- fail "The 'test' action test failed to return the expected exit status: the exit status was #{$?.exitstatus}" unless $?.exitstatus == 2
52
-
53
- debug = `echo exit | ruby -Ilib bin/bauxite -l echo test/debug.bxt.manual -d`
54
- puts debug
55
- unless debug.include? 'debug> '
56
- fail "The -d argument failed to open the debug console"
57
- end
58
-
59
- check = lambda { |f| fail "Captured file not found #{f}" unless File.exists? f }
60
-
61
- system('rm -rf /tmp/bauxite-test')
62
- ruby "-Ilib bin/bauxite --output /tmp/bauxite-test test/capture.bxt.manual"
63
- check.call '/tmp/bauxite-test/test_capture_bxt_manual_0.png'
64
- check.call '/tmp/bauxite-test/test_capture_bxt_manual_1.png'
65
- check.call '/tmp/bauxite-test/test_capture_bxt_manual_2.png'
66
- check.call '/tmp/bauxite-test/with_name.png'
67
- check.call '/tmp/bauxite-test/capture_my_test_bxt_test_capture_my_test_bxt_3.png'
68
- check.call '/tmp/bauxite-test/named_test_test_capture_my_test_bxt_3.png'
69
-
70
- system('rm -rf /tmp/bauxite-test')
71
- system("ruby -Ilib bin/bauxite --output /tmp/bauxite-test -c test/capture_on_error.bxt.manual")
72
- fail "The 'capture_on_error' test failed to return the expected exit status: the exit status was #{$?.exitstatus}" unless $?.exitstatus == 1
73
- check.call '/tmp/bauxite-test/capture_on_error_my_test_bxt_test_capture_on_error_bxt_manual_0.png'
74
- check.call '/tmp/bauxite-test/test_capture_on_error_bxt_manual_0.png'
75
-
76
- system("( cd test; ruby -I../lib ../bin/bauxite bug_load_path.bxt.manual -v; )")
77
- fail "The regression test for 'bug_load_path' failed" unless $?.exitstatus == 0
78
-
79
- end
80
-
81
- # === Documentation ========================================================= #
82
- desc "Generate Bauxite documentation"
83
- task :doc do
84
- doc = `rdoc -O -U -V --main README.md README.md #{File.join('lib', 'bauxite')}`
85
- puts doc
86
- fail "Documentation failed" unless $?.exitstatus == 0
87
- fail "Undocumented artifacts found" unless doc.include? '100.00% documented'
88
- end
89
-
90
- desc "Open documentation in a browser"
91
- task :viewdoc => [:doc] do
92
- `xdg-open #{File.join('doc', 'index.html')}`
93
- end
94
-
95
- # === Helpers =============================================================== #
96
- desc "Helper: Inject license into every file in lib"
97
- task :inject_license do
98
- license = File.open('LICENSE', 'r') { |f| f.read }
99
- license = license.each_line.to_a[2..-1].map { |l| "# #{l}".sub(/ *$/, '') }
100
- license = "#--\n#{license.join('')}#++\n\n"
101
-
102
- Dir['lib/**/*'].select { |f| not File.directory? f }.each do |f|
103
- puts f
104
- content = license + File.open(f, 'r') { |f| f.read }
105
- #File.open(f, 'w') { |f| f.write content }
106
- end
107
- end
108
-
109
- desc "Helper: Update Bauxite version"
110
- task :update_version, :version do |t,args|
111
- version = args[:version]
112
- unless version
113
- puts "Usage rake update_version[version]"
114
- puts ""
115
- puts "Current version: #{CURRENT_VERSION}"
116
- exit false
117
- end
118
-
119
- content = File.open('lib/bauxite.rb', 'r') { |f| f.read }
120
- expr = /(.*VERSION = ")([^"]*)(".*)/
121
-
122
- content = content.each_line.map do |line|
123
- line.sub(/(.*VERSION = ").*(".*)/, "\\1#{version}\\2")
124
- end.join
125
- if version
126
- puts "Updated version to #{version}"
127
- File.open('lib/bauxite.rb', 'w') { |f| f.write content }
128
- end
1
+ task :default => [:test, :doc]
2
+
3
+ CURRENT_VERSION = `ruby -Ilib bin/bauxite --version`.gsub(/^.* /, '')
4
+
5
+ # === Gem Package =========================================================== #
6
+ require 'rubygems'
7
+ require 'rubygems/package_task'
8
+
9
+ spec = Gem::Specification.new do |s|
10
+ s.name = 'bauxite'
11
+ s.summary = 'Bauxite is a façade over Selenium intended for non-developers'
12
+ s.description = 'Bauxite is a façade over Selenium intended for non-developers. The idea behind this project was to create a tool that allows non-developers to write web tests in a human-readable language. Another major requirement is to be able to easily extend the test language to create functional abstractions over technical details.'
13
+ s.author = 'Patricio Zavolinsky'
14
+ s.email = 'pzavolinsky at yahoo dot com dot ar'
15
+ s.homepage = 'https://github.com/pzavolinsky/bauxite'
16
+ s.license = 'MIT'
17
+ s.version = CURRENT_VERSION
18
+ s.executables = ["bauxite"]
19
+ s.add_runtime_dependency 'selenium-webdriver', '~> 2.47'
20
+ s.add_development_dependency 'rake' , '~> 10.1'
21
+ s.files = FileList[
22
+ 'LICENSE',
23
+ 'README.md',
24
+ 'Rakefile',
25
+ 'bin/*',
26
+ 'lib/**/*.rb',
27
+ 'test/**/*',
28
+ 'doc/**/*'
29
+ ]
30
+ end
31
+
32
+ task :package => [ :test, :doc ]
33
+ task :gem => [ :test, :doc ]
34
+
35
+ Gem::PackageTask.new(spec) do |pkg|
36
+ pkg.need_zip = true
37
+ pkg.need_tar = true
38
+ end
39
+
40
+ # === Integration tests ===================================================== #
41
+ desc "Run integration tests"
42
+ task :test do
43
+ test_files = Dir[File.join('test', '*.bxt')].select { |f| not File.directory? f }.join(' ')
44
+ ruby "-Ilib bin/bauxite -v #{test_files}"
45
+
46
+ ruby "-Ilib bin/bauxite -v -e test/extension #{File.join('test', 'extension.bxt.manual')}"
47
+
48
+ ruby "-Ilib bin/bauxite -v -s css test/default_selector.bxt.manual"
49
+
50
+ system("ruby -Ilib bin/bauxite test/test.bxt.manual")
51
+ fail "The 'test' action test failed to return the expected exit status: the exit status was #{$?.exitstatus}" unless $?.exitstatus == 2
52
+
53
+ debug = `echo exit | ruby -Ilib bin/bauxite -l echo test/debug.bxt.manual -d`
54
+ puts debug
55
+ unless debug.include? 'debug> '
56
+ fail "The -d argument failed to open the debug console"
57
+ end
58
+
59
+ check = lambda { |f| fail "Captured file not found #{f}" unless File.exists? f }
60
+
61
+ system('rm -rf /tmp/bauxite-test')
62
+ ruby "-Ilib bin/bauxite --output /tmp/bauxite-test test/capture.bxt.manual"
63
+ check.call '/tmp/bauxite-test/test_capture_bxt_manual_0.png'
64
+ check.call '/tmp/bauxite-test/test_capture_bxt_manual_1.png'
65
+ check.call '/tmp/bauxite-test/test_capture_bxt_manual_2.png'
66
+ check.call '/tmp/bauxite-test/with_name.png'
67
+ check.call '/tmp/bauxite-test/capture_my_test_bxt_test_capture_my_test_bxt_3.png'
68
+ check.call '/tmp/bauxite-test/named_test_test_capture_my_test_bxt_3.png'
69
+
70
+ system('rm -rf /tmp/bauxite-test')
71
+ system("ruby -Ilib bin/bauxite --output /tmp/bauxite-test -c test/capture_on_error.bxt.manual")
72
+ fail "The 'capture_on_error' test failed to return the expected exit status: the exit status was #{$?.exitstatus}" unless $?.exitstatus == 1
73
+ check.call '/tmp/bauxite-test/capture_on_error_my_test_bxt_test_capture_on_error_bxt_manual_0.png'
74
+ check.call '/tmp/bauxite-test/test_capture_on_error_bxt_manual_0.png'
75
+
76
+ system("( cd test; ruby -I../lib ../bin/bauxite bug_load_path.bxt.manual -v; )")
77
+ fail "The regression test for 'bug_load_path' failed" unless $?.exitstatus == 0
78
+
79
+ end
80
+
81
+ # === Documentation ========================================================= #
82
+ desc "Generate Bauxite documentation"
83
+ task :doc do
84
+ doc = `rdoc -O -U -V --main README.md README.md #{File.join('lib', 'bauxite')}`
85
+ puts doc
86
+ fail "Documentation failed" unless $?.exitstatus == 0
87
+ fail "Undocumented artifacts found" unless doc.include? '100.00% documented'
88
+ end
89
+
90
+ desc "Open documentation in a browser"
91
+ task :viewdoc => [:doc] do
92
+ `xdg-open #{File.join('doc', 'index.html')}`
93
+ end
94
+
95
+ # === Helpers =============================================================== #
96
+ desc "Helper: Inject license into every file in lib"
97
+ task :inject_license do
98
+ license = File.open('LICENSE', 'r') { |f| f.read }
99
+ license = license.each_line.to_a[2..-1].map { |l| "# #{l}".sub(/ *$/, '') }
100
+ license = "#--\n#{license.join('')}#++\n\n"
101
+
102
+ Dir['lib/**/*'].select { |f| not File.directory? f }.each do |f|
103
+ puts f
104
+ content = license + File.open(f, 'r') { |f| f.read }
105
+ #File.open(f, 'w') { |f| f.write content }
106
+ end
107
+ end
108
+
109
+ desc "Helper: Update Bauxite version"
110
+ task :update_version, :version do |t,args|
111
+ version = args[:version]
112
+ unless version
113
+ puts "Usage rake update_version[version]"
114
+ puts ""
115
+ puts "Current version: #{CURRENT_VERSION}"
116
+ exit false
117
+ end
118
+
119
+ content = File.open('lib/bauxite.rb', 'r') { |f| f.read }
120
+ expr = /(.*VERSION = ")([^"]*)(".*)/
121
+
122
+ content = content.each_line.map do |line|
123
+ line.sub(/(.*VERSION = ").*(".*)/, "\\1#{version}\\2")
124
+ end.join
125
+ if version
126
+ puts "Updated version to #{version}"
127
+ File.open('lib/bauxite.rb', 'w') { |f| f.write content }
128
+ end
129
129
  end
data/bin/bauxite CHANGED
@@ -1,27 +1,27 @@
1
- #!/usr/bin/env ruby
2
-
3
- #--
4
- # Copyright (c) 2014 Patricio Zavolinsky
5
- #
6
- # Permission is hereby granted, free of charge, to any person obtaining
7
- # a copy of this software and associated documentation files (the
8
- # "Software"), to deal in the Software without restriction, including
9
- # without limitation the rights to use, copy, modify, merge, publish,
10
- # distribute, sublicense, and/or sell copies of the Software, and to
11
- # permit persons to whom the Software is furnished to do so, subject to
12
- # the following conditions:
13
- #
14
- # The above copyright notice and this permission notice shall be
15
- # included in all copies or substantial portions of the Software.
16
- #
17
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
- #++
25
-
26
- require 'bauxite'
27
- Bauxite::Application::start
1
+ #!/usr/bin/env ruby
2
+
3
+ #--
4
+ # Copyright (c) 2014 Patricio Zavolinsky
5
+ #
6
+ # Permission is hereby granted, free of charge, to any person obtaining
7
+ # a copy of this software and associated documentation files (the
8
+ # "Software"), to deal in the Software without restriction, including
9
+ # without limitation the rights to use, copy, modify, merge, publish,
10
+ # distribute, sublicense, and/or sell copies of the Software, and to
11
+ # permit persons to whom the Software is furnished to do so, subject to
12
+ # the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be
15
+ # included in all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
+ #++
25
+
26
+ require 'bauxite'
27
+ Bauxite::Application::start
data/doc/Bauxite.html CHANGED
@@ -6,20 +6,17 @@
6
6
 
7
7
  <title>module Bauxite - RDoc Documentation</title>
8
8
 
9
- <link href="./fonts.css" rel="stylesheet">
10
- <link href="./rdoc.css" rel="stylesheet">
11
-
12
9
  <script type="text/javascript">
13
10
  var rdoc_rel_prefix = "./";
14
11
  </script>
15
12
 
16
13
  <script src="./js/jquery.js"></script>
17
- <script src="./js/navigation.js"></script>
18
- <script src="./js/search_index.js"></script>
19
- <script src="./js/search.js"></script>
20
- <script src="./js/searcher.js"></script>
21
14
  <script src="./js/darkfish.js"></script>
22
15
 
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
23
20
 
24
21
  <body id="top" role="document" class="module">
25
22
  <nav role="navigation">
@@ -94,7 +91,7 @@
94
91
 
95
92
  <footer id="validator-badges" role="contentinfo">
96
93
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
97
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
98
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
94
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
95
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
99
96
  </footer>
100
97
 
@@ -6,20 +6,17 @@
6
6
 
7
7
  <title>class Bauxite::Action - RDoc Documentation</title>
8
8
 
9
- <link href="../fonts.css" rel="stylesheet">
10
- <link href="../rdoc.css" rel="stylesheet">
11
-
12
9
  <script type="text/javascript">
13
10
  var rdoc_rel_prefix = "../";
14
11
  </script>
15
12
 
16
13
  <script src="../js/jquery.js"></script>
17
- <script src="../js/navigation.js"></script>
18
- <script src="../js/search_index.js"></script>
19
- <script src="../js/search.js"></script>
20
- <script src="../js/searcher.js"></script>
21
14
  <script src="../js/darkfish.js"></script>
22
15
 
16
+ <link href="../css/fonts.css" rel="stylesheet">
17
+ <link href="../css/rdoc.css" rel="stylesheet">
18
+
19
+
23
20
 
24
21
  <body id="top" role="document" class="class">
25
22
  <nav role="navigation">
@@ -194,18 +191,17 @@ attribute to refer to the current test <a href="Context.html">Context</a>.</p>
194
191
 
195
192
  <p>For example (new action template):</p>
196
193
 
197
- <pre class="ruby"><span class="ruby-comment"># === actions/print_source.rb ======= #</span>
198
- <span class="ruby-keyword">class</span> <span class="ruby-constant">Action</span>
199
- <span class="ruby-comment"># :category: Action Methods</span>
200
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">print_source</span>
201
- <span class="ruby-comment"># action code goes here, for example:</span>
202
- <span class="ruby-identifier">puts</span> <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">page_source</span>.
203
- <span class="ruby-identifier">end</span>
204
- <span class="ruby-keyword">end</span>
205
- <span class="ruby-comment"># === end actions/print_source.rb === #</span>
194
+ <pre># === actions/print_source.rb ======= #
195
+ class Action
196
+ # :category: Action Methods
197
+ def print_source
198
+ # action code goes here, for example:
199
+ puts @ctx.driver.page_source.
200
+ end
201
+ end
202
+ # === end actions/print_source.rb === #
206
203
 
207
- <span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">actions</span>.<span class="ruby-identifier">include?</span> <span class="ruby-string">&#39;print_source&#39;</span> <span class="ruby-comment"># =&gt; true</span>
208
- </pre>
204
+ Context::actions.include? &#39;print_source&#39; # =&gt; true</pre>
209
205
 
210
206
  <p>To avoid name clashing with Ruby reserved words, the &#39;_action&#39;
211
207
  suffix can be included in the action method name (this suffix will not be
@@ -358,19 +354,18 @@ not alias_action.</p>
358
354
 
359
355
  <p>For example:</p>
360
356
 
361
- <pre class="ruby"><span class="ruby-keyword">alias</span> <span class="ruby-identifier">hey</span> <span class="ruby-identifier">echo</span> <span class="ruby-string">&quot;$1, nice to see you!&quot;</span>
362
- <span class="ruby-identifier">hey</span> <span class="ruby-identifier">john</span>
363
- <span class="ruby-comment"># =&gt; this would expand to</span>
364
- <span class="ruby-comment"># echo &quot;john, nice to see you!&quot;</span>
365
- </pre>
357
+ <pre>alias hey echo &quot;$1, nice to see you!&quot;
358
+ hey john
359
+ # =&gt; this would expand to
360
+ # echo &quot;john, nice to see you!&quot;</pre>
366
361
 
367
362
 
368
363
 
369
364
 
370
365
  <div class="method-source-code" id="alias_action-source">
371
366
  <pre><span class="ruby-comment"># File lib/bauxite/actions/alias.rb, line 48</span>
372
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">alias_action</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
373
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">add_alias</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>)
367
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">alias_action</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
368
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">add_alias</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>)
374
369
  <span class="ruby-keyword">end</span></pre>
375
370
  </div>
376
371
 
@@ -416,16 +411,16 @@ flags.</p>
416
411
 
417
412
  <div class="method-source-code" id="assert-source">
418
413
  <pre><span class="ruby-comment"># File lib/bauxite/actions/assert.rb, line 38</span>
419
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-identifier">text</span>)
420
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span> <span class="ruby-keyword">do</span>
421
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
422
- <span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">e</span>)
423
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">text</span>)
424
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed: expected &#39;#{text}&#39;, got &#39;#{actual}&#39;&quot;</span>
425
- <span class="ruby-keyword">end</span>
426
- <span class="ruby-keyword">true</span>
427
- <span class="ruby-keyword">end</span>
428
- <span class="ruby-keyword">end</span>
414
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">assert</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-identifier">text</span>)
415
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span> <span class="ruby-keyword">do</span>
416
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
417
+ <span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">e</span>)
418
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">text</span>)
419
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed: expected &#39;#{text}&#39;, got &#39;#{actual}&#39;&quot;</span>
420
+ <span class="ruby-keyword">end</span>
421
+ <span class="ruby-keyword">true</span>
422
+ <span class="ruby-keyword">end</span>
423
+ <span class="ruby-keyword">end</span>
429
424
  <span class="ruby-keyword">end</span></pre>
430
425
  </div>
431
426
 
@@ -479,19 +474,19 @@ every expression specified.</p>
479
474
 
480
475
  <div class="method-source-code" id="asserth-source">
481
476
  <pre><span class="ruby-comment"># File lib/bauxite/actions/asserth.rb, line 46</span>
482
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">asserth</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
483
- <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">current_url</span>)
484
- <span class="ruby-identifier">res</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">get_response</span>(<span class="ruby-identifier">uri</span>)
485
- <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
486
- <span class="ruby-identifier">name</span>,<span class="ruby-identifier">value</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;=&#39;</span>, <span class="ruby-value">2</span>);
487
- <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>
488
- <span class="ruby-identifier">value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>
489
-
490
- <span class="ruby-identifier">actual</span> = <span class="ruby-identifier">res</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;&#39;</span>
491
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">value</span>)
492
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed for HTTP Header &#39;#{name}&#39;: expected &#39;#{value}&#39;, got &#39;#{actual}&#39;&quot;</span>
493
- <span class="ruby-keyword">end</span>
494
- <span class="ruby-keyword">end</span>
477
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">asserth</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
478
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">current_url</span>)
479
+ <span class="ruby-identifier">res</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">get_response</span>(<span class="ruby-identifier">uri</span>)
480
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
481
+ <span class="ruby-identifier">name</span>,<span class="ruby-identifier">value</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;=&#39;</span>, <span class="ruby-value">2</span>);
482
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>
483
+ <span class="ruby-identifier">value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>
484
+
485
+ <span class="ruby-identifier">actual</span> = <span class="ruby-identifier">res</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;&#39;</span>
486
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">value</span>)
487
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed for HTTP Header &#39;#{name}&#39;: expected &#39;#{value}&#39;, got &#39;#{actual}&#39;&quot;</span>
488
+ <span class="ruby-keyword">end</span>
489
+ <span class="ruby-keyword">end</span>
495
490
  <span class="ruby-keyword">end</span></pre>
496
491
  </div>
497
492
 
@@ -540,14 +535,14 @@ the popup. Alternatively, the action specified could be to
540
535
 
541
536
  <div class="method-source-code" id="assertm-source">
542
537
  <pre><span class="ruby-comment"># File lib/bauxite/actions/assertm.rb, line 40</span>
543
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">assertm</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">action</span> = <span class="ruby-string">&#39;accept&#39;</span>)
544
- <span class="ruby-identifier">ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoAlertPresentError</span> <span class="ruby-keyword">do</span>
545
- <span class="ruby-identifier">a</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">alert</span>
546
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">text</span>)
547
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed: expected &#39;#{text}&#39;, got &#39;#{a.text}&#39;&quot;</span>
548
- <span class="ruby-keyword">end</span>
549
- <span class="ruby-identifier">a</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">action</span>.<span class="ruby-identifier">to_sym</span>)
550
- <span class="ruby-keyword">end</span>
538
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">assertm</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">action</span> = <span class="ruby-string">&#39;accept&#39;</span>)
539
+ <span class="ruby-identifier">ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoAlertPresentError</span> <span class="ruby-keyword">do</span>
540
+ <span class="ruby-identifier">a</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">alert</span>
541
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">text</span>)
542
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed: expected &#39;#{text}&#39;, got &#39;#{a.text}&#39;&quot;</span>
543
+ <span class="ruby-keyword">end</span>
544
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">action</span>.<span class="ruby-identifier">to_sym</span>)
545
+ <span class="ruby-keyword">end</span>
551
546
  <span class="ruby-keyword">end</span></pre>
552
547
  </div>
553
548
 
@@ -590,11 +585,11 @@ href="Action.html#method-i-assert">assert</a> for more details.</p>
590
585
 
591
586
  <div class="method-source-code" id="assertv-source">
592
587
  <pre><span class="ruby-comment"># File lib/bauxite/actions/assertv.rb, line 34</span>
593
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">assertv</span>(<span class="ruby-identifier">expected</span>, <span class="ruby-identifier">actual</span>)
594
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">expected</span>)
595
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed: &#39;#{actual}&#39; does not match &#39;#{expected}&#39;&quot;</span>
596
- <span class="ruby-keyword">end</span>
597
- <span class="ruby-keyword">true</span>
588
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">assertv</span>(<span class="ruby-identifier">expected</span>, <span class="ruby-identifier">actual</span>)
589
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">expected</span>)
590
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed: &#39;#{actual}&#39; does not match &#39;#{expected}&#39;&quot;</span>
591
+ <span class="ruby-keyword">end</span>
592
+ <span class="ruby-keyword">true</span>
598
593
  <span class="ruby-keyword">end</span></pre>
599
594
  </div>
600
595
 
@@ -641,13 +636,13 @@ href="Action.html#method-i-assert">assert</a> for more details.</p>
641
636
 
642
637
  <div class="method-source-code" id="assertw-source">
643
638
  <pre><span class="ruby-comment"># File lib/bauxite/actions/assertw.rb, line 39</span>
644
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">assertw</span>(<span class="ruby-identifier">count</span> = <span class="ruby-value">1</span>)
645
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span> <span class="ruby-keyword">do</span>
646
- <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">window_handles</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">count</span>.<span class="ruby-identifier">to_i</span>
647
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-string">&quot;Assertion failed: all popups must be closed.&quot;</span>
648
- <span class="ruby-keyword">end</span>
649
- <span class="ruby-keyword">true</span>
650
- <span class="ruby-keyword">end</span>
639
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">assertw</span>(<span class="ruby-identifier">count</span> = <span class="ruby-value">1</span>)
640
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span> <span class="ruby-keyword">do</span>
641
+ <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">window_handles</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">count</span>.<span class="ruby-identifier">to_i</span>
642
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-string">&quot;Assertion failed: all popups must be closed.&quot;</span>
643
+ <span class="ruby-keyword">end</span>
644
+ <span class="ruby-keyword">true</span>
645
+ <span class="ruby-keyword">end</span>
651
646
  <span class="ruby-keyword">end</span></pre>
652
647
  </div>
653
648
 
@@ -681,17 +676,16 @@ break_action.</p>
681
676
 
682
677
  <p>For example:</p>
683
678
 
684
- <pre class="ruby"><span class="ruby-keyword">break</span>
685
- <span class="ruby-comment"># =&gt; echoes &quot;Press ENTER to continue&quot; and waits for user input</span>
686
- </pre>
679
+ <pre>break
680
+ # =&gt; echoes &quot;Press ENTER to continue&quot; and waits for user input</pre>
687
681
 
688
682
 
689
683
 
690
684
 
691
685
  <div class="method-source-code" id="break_action-source">
692
686
  <pre><span class="ruby-comment"># File lib/bauxite/actions/break.rb, line 36</span>
693
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">break_action</span>
694
- <span class="ruby-identifier">lambda</span> { <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">wait</span> }
687
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">break_action</span>
688
+ <span class="ruby-identifier">lambda</span> { <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">wait</span> }
695
689
  <span class="ruby-keyword">end</span></pre>
696
690
  </div>
697
691
 
@@ -739,26 +733,26 @@ will be stored in <code>__CAPTURE__</code>.</p>
739
733
 
740
734
  <div class="method-source-code" id="capture-source">
741
735
  <pre><span class="ruby-comment"># File lib/bauxite/actions/capture.rb, line 40</span>
742
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">capture</span>(<span class="ruby-identifier">file</span> = <span class="ruby-keyword">nil</span>)
743
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span>
744
- <span class="ruby-identifier">seq</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__CAPTURE_SEQ__&#39;</span>] <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
745
- <span class="ruby-identifier">test</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__TEST__&#39;</span>]
746
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__CAPTURE_SEQ__&#39;</span>] = <span class="ruby-identifier">seq</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
747
-
748
- <span class="ruby-identifier">file</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;&#39;</span>
749
- <span class="ruby-identifier">file</span> = <span class="ruby-identifier">file</span>[<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">+</span><span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">start_with?</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
750
-
751
- <span class="ruby-identifier">file</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;_#{seq}&quot;</span>
752
- <span class="ruby-identifier">file</span> = <span class="ruby-node">&quot;#{test}_#{file}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">test</span>
753
- <span class="ruby-identifier">file</span> = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/[^A-Z0-9_-]/i</span>, <span class="ruby-string">&#39;_&#39;</span>) <span class="ruby-operator">+</span> <span class="ruby-string">&#39;.png&#39;</span>
754
- <span class="ruby-keyword">end</span>
755
-
756
- <span class="ruby-identifier">file</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">output_path</span>(<span class="ruby-identifier">file</span>)
757
-
758
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">save_screenshot</span>(<span class="ruby-identifier">file</span>)
759
-
760
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__CAPTURE__&#39;</span>] = <span class="ruby-identifier">file</span>
761
- <span class="ruby-keyword">true</span>
736
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">capture</span>(<span class="ruby-identifier">file</span> = <span class="ruby-keyword">nil</span>)
737
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span>
738
+ <span class="ruby-identifier">seq</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__CAPTURE_SEQ__&#39;</span>] <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
739
+ <span class="ruby-identifier">test</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__TEST__&#39;</span>]
740
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__CAPTURE_SEQ__&#39;</span>] = <span class="ruby-identifier">seq</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
741
+
742
+ <span class="ruby-identifier">file</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__FILE__&#39;</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;&#39;</span>
743
+ <span class="ruby-identifier">file</span> = <span class="ruby-identifier">file</span>[<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">+</span><span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">start_with?</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
744
+
745
+ <span class="ruby-identifier">file</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;_#{seq}&quot;</span>
746
+ <span class="ruby-identifier">file</span> = <span class="ruby-node">&quot;#{test}_#{file}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">test</span>
747
+ <span class="ruby-identifier">file</span> = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/[^A-Z0-9_-]/i</span>, <span class="ruby-string">&#39;_&#39;</span>) <span class="ruby-operator">+</span> <span class="ruby-string">&#39;.png&#39;</span>
748
+ <span class="ruby-keyword">end</span>
749
+
750
+ <span class="ruby-identifier">file</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">output_path</span>(<span class="ruby-identifier">file</span>)
751
+
752
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">save_screenshot</span>(<span class="ruby-identifier">file</span>)
753
+
754
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__CAPTURE__&#39;</span>] = <span class="ruby-identifier">file</span>
755
+ <span class="ruby-keyword">true</span>
762
756
  <span class="ruby-keyword">end</span></pre>
763
757
  </div>
764
758
 
@@ -797,9 +791,9 @@ will be stored in <code>__CAPTURE__</code>.</p>
797
791
 
798
792
  <div class="method-source-code" id="click-source">
799
793
  <pre><span class="ruby-comment"># File lib/bauxite/actions/click.rb, line 32</span>
800
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">click</span>(<span class="ruby-identifier">selector</span>)
801
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">click</span> }
802
- <span class="ruby-keyword">true</span>
794
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">click</span>(<span class="ruby-identifier">selector</span>)
795
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">click</span> }
796
+ <span class="ruby-keyword">true</span>
803
797
  <span class="ruby-keyword">end</span></pre>
804
798
  </div>
805
799
 
@@ -842,12 +836,12 @@ autocomplete (pressing the <code>TAB</code> key).</p>
842
836
 
843
837
  <div class="method-source-code" id="debug-source">
844
838
  <pre><span class="ruby-comment"># File lib/bauxite/actions/debug.rb, line 35</span>
845
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">debug</span>
846
- <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span>
847
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_vars</span>({ <span class="ruby-string">&#39;__DEBUG__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }) <span class="ruby-keyword">do</span>
848
- <span class="ruby-identifier">_debug_process</span>
849
- <span class="ruby-keyword">end</span>
850
- <span class="ruby-keyword">end</span>
839
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">debug</span>
840
+ <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span>
841
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_vars</span>({ <span class="ruby-string">&#39;__DEBUG__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }) <span class="ruby-keyword">do</span>
842
+ <span class="ruby-identifier">_debug_process</span>
843
+ <span class="ruby-keyword">end</span>
844
+ <span class="ruby-keyword">end</span>
851
845
  <span class="ruby-keyword">end</span></pre>
852
846
  </div>
853
847
 
@@ -880,24 +874,23 @@ href="Action.html#method-i-assertv">assertv</a>.</p>
880
874
 
881
875
  <p>For example:</p>
882
876
 
883
- <pre class="ruby"><span class="ruby-identifier">set</span> <span class="ruby-identifier">first</span> <span class="ruby-identifier">john</span>
884
- <span class="ruby-identifier">set</span> <span class="ruby-identifier">last</span> <span class="ruby-identifier">doe</span>
885
- <span class="ruby-identifier">doif</span> <span class="ruby-identifier">john</span> ${<span class="ruby-identifier">first</span>} <span class="ruby-identifier">assertv</span> <span class="ruby-identifier">doe</span> ${<span class="ruby-identifier">last</span>}
886
- <span class="ruby-comment"># =&gt; this assertion would pass.</span>
877
+ <pre>set first john
878
+ set last doe
879
+ doif john ${first} assertv doe ${last}
880
+ # =&gt; this assertion would pass.
887
881
 
888
- <span class="ruby-identifier">doif</span> <span class="ruby-identifier">smith</span> ${<span class="ruby-identifier">last</span>} <span class="ruby-identifier">load</span> <span class="ruby-identifier">smith_specific_text</span>.<span class="ruby-identifier">bxt</span>
889
- <span class="ruby-comment"># =&gt; this would only load smith_specific_text.bxt if the last</span>
890
- <span class="ruby-comment"># variable matches &#39;smith&#39;</span>
891
- </pre>
882
+ doif smith ${last} load smith_specific_text.bxt
883
+ # =&gt; this would only load smith_specific_text.bxt if the last
884
+ # variable matches &#39;smith&#39;</pre>
892
885
 
893
886
 
894
887
 
895
888
 
896
889
  <div class="method-source-code" id="doif-source">
897
890
  <pre><span class="ruby-comment"># File lib/bauxite/actions/doif.rb, line 39</span>
898
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">doif</span>(<span class="ruby-identifier">expected</span>, <span class="ruby-identifier">actual</span>, <span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
899
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">expected</span>)
900
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_action_object</span>(<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>))
891
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">doif</span>(<span class="ruby-identifier">expected</span>, <span class="ruby-identifier">actual</span>, <span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
892
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">expected</span>)
893
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_action_object</span>(<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>))
901
894
  <span class="ruby-keyword">end</span></pre>
902
895
  </div>
903
896
 
@@ -930,24 +923,23 @@ href="Action.html#method-i-assertv">assertv</a>.</p>
930
923
 
931
924
  <p>For example:</p>
932
925
 
933
- <pre class="ruby"><span class="ruby-identifier">set</span> <span class="ruby-identifier">first</span> <span class="ruby-identifier">john</span>
934
- <span class="ruby-identifier">set</span> <span class="ruby-identifier">last</span> <span class="ruby-identifier">doe</span>
935
- <span class="ruby-identifier">dounless</span> <span class="ruby-identifier">james</span> ${<span class="ruby-identifier">first</span>} <span class="ruby-identifier">assertv</span> <span class="ruby-identifier">doe</span> ${<span class="ruby-identifier">last</span>}
936
- <span class="ruby-comment"># =&gt; this assertion would pass.</span>
926
+ <pre>set first john
927
+ set last doe
928
+ dounless james ${first} assertv doe ${last}
929
+ # =&gt; this assertion would pass.
937
930
 
938
- <span class="ruby-identifier">dounless</span> <span class="ruby-keyword">false</span> ${<span class="ruby-identifier">load_captcha</span>} <span class="ruby-identifier">load</span> <span class="ruby-identifier">captcha</span>.<span class="ruby-identifier">bxt</span>
939
- <span class="ruby-comment"># =&gt; this would only load captcha.bxt if the load_captcha</span>
940
- <span class="ruby-comment"># variable is not &#39;false&#39;</span>
941
- </pre>
931
+ dounless false ${load_captcha} load captcha.bxt
932
+ # =&gt; this would only load captcha.bxt if the load_captcha
933
+ # variable is not &#39;false&#39;</pre>
942
934
 
943
935
 
944
936
 
945
937
 
946
938
  <div class="method-source-code" id="dounless-source">
947
939
  <pre><span class="ruby-comment"># File lib/bauxite/actions/dounless.rb, line 39</span>
948
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">dounless</span>(<span class="ruby-identifier">expected</span>, <span class="ruby-identifier">actual</span>, <span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
949
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">expected</span>)
950
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_action_object</span>(<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>))
940
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">dounless</span>(<span class="ruby-identifier">expected</span>, <span class="ruby-identifier">actual</span>, <span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
941
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">expected</span>)
942
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_action_object</span>(<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>))
951
943
  <span class="ruby-keyword">end</span></pre>
952
944
  </div>
953
945
 
@@ -988,8 +980,8 @@ href="Context.html#method-i-expand">Bauxite::Context#expand</a>).</p>
988
980
 
989
981
  <div class="method-source-code" id="echo-source">
990
982
  <pre><span class="ruby-comment"># File lib/bauxite/actions/echo.rb, line 33</span>
991
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">echo</span>(<span class="ruby-identifier">text</span>)
992
- <span class="ruby-keyword">true</span>
983
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">echo</span>(<span class="ruby-identifier">text</span>)
984
+ <span class="ruby-keyword">true</span>
993
985
  <span class="ruby-keyword">end</span></pre>
994
986
  </div>
995
987
 
@@ -1033,16 +1025,16 @@ results of the execution will be assigned to the variable named
1033
1025
 
1034
1026
  <div class="method-source-code" id="exec-source">
1035
1027
  <pre><span class="ruby-comment"># File lib/bauxite/actions/exec.rb, line 35</span>
1036
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">command</span>)
1037
- <span class="ruby-identifier">data</span> = <span class="ruby-identifier">command</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;=&#39;</span>, <span class="ruby-value">2</span>)
1038
- <span class="ruby-identifier">name</span> = <span class="ruby-keyword">nil</span>
1039
- <span class="ruby-keyword">if</span> (<span class="ruby-identifier">data</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span>)
1040
- <span class="ruby-identifier">name</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>]
1041
- <span class="ruby-identifier">command</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span>]
1042
- <span class="ruby-keyword">end</span>
1043
-
1044
- <span class="ruby-identifier">ret</span> = <span class="ruby-node">%x#{command.join(&#39; &#39;)}`</span>
1045
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span>
1028
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">command</span>)
1029
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">command</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">split</span>(<span class="ruby-string">&#39;=&#39;</span>, <span class="ruby-value">2</span>)
1030
+ <span class="ruby-identifier">name</span> = <span class="ruby-keyword">nil</span>
1031
+ <span class="ruby-keyword">if</span> (<span class="ruby-identifier">data</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span>)
1032
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>]
1033
+ <span class="ruby-identifier">command</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span>]
1034
+ <span class="ruby-keyword">end</span>
1035
+
1036
+ <span class="ruby-identifier">ret</span> = <span class="ruby-node">%x`#{command.join(&#39; &#39;)}`</span>
1037
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">ret</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span>
1046
1038
  <span class="ruby-keyword">end</span></pre>
1047
1039
  </div>
1048
1040
 
@@ -1071,18 +1063,17 @@ results of the execution will be assigned to the variable named
1071
1063
 
1072
1064
  <p>For example:</p>
1073
1065
 
1074
- <pre class="ruby"><span class="ruby-identifier">exit</span>
1075
- <span class="ruby-identifier">assertv</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">false</span>
1076
- <span class="ruby-comment"># =&gt; the assertv will NOT be executed</span>
1077
- </pre>
1066
+ <pre>exit
1067
+ assertv true false
1068
+ # =&gt; the assertv will NOT be executed</pre>
1078
1069
 
1079
1070
 
1080
1071
 
1081
1072
 
1082
1073
  <div class="method-source-code" id="exit_action-source">
1083
1074
  <pre><span class="ruby-comment"># File lib/bauxite/actions/exit.rb, line 32</span>
1084
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">exit_action</span>
1085
- <span class="ruby-value">:break</span>
1075
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">exit_action</span>
1076
+ <span class="ruby-value">:break</span>
1086
1077
  <span class="ruby-keyword">end</span></pre>
1087
1078
  </div>
1088
1079
 
@@ -1125,29 +1116,28 @@ href="Action.html#method-i-test">test</a>, etc.) is undefined.</p>
1125
1116
 
1126
1117
  <p>For example:</p>
1127
1118
 
1128
- <pre class="ruby"><span class="ruby-comment"># assuming &lt;input type=&quot;text&quot; id=&quot;hello&quot; value=&quot;world&quot; /&gt;</span>
1129
- <span class="ruby-identifier">assert</span> <span class="ruby-identifier">hello</span> <span class="ruby-identifier">world</span>
1130
- <span class="ruby-identifier">failif</span> <span class="ruby-identifier">assert</span> <span class="ruby-identifier">hello</span> <span class="ruby-identifier">universe</span>
1131
- <span class="ruby-identifier">failif</span> <span class="ruby-identifier">assertv</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">false</span>
1132
- <span class="ruby-comment"># =&gt; these assertions would pass</span>
1133
- </pre>
1119
+ <pre># assuming &lt;input type=&quot;text&quot; id=&quot;hello&quot; value=&quot;world&quot; /&gt;
1120
+ assert hello world
1121
+ failif assert hello universe
1122
+ failif assertv true false
1123
+ # =&gt; these assertions would pass</pre>
1134
1124
 
1135
1125
 
1136
1126
 
1137
1127
 
1138
1128
  <div class="method-source-code" id="failif-source">
1139
1129
  <pre><span class="ruby-comment"># File lib/bauxite/actions/failif.rb, line 40</span>
1140
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">failif</span>(<span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1141
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span> <span class="ruby-keyword">do</span>
1142
- <span class="ruby-keyword">begin</span>
1143
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_vars</span>({ <span class="ruby-string">&#39;__TIMEOUT__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>}) <span class="ruby-keyword">do</span>
1144
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-keyword">false</span>)
1145
- <span class="ruby-keyword">end</span>
1146
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoSuchElementError</span>
1147
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
1148
- <span class="ruby-keyword">end</span>
1149
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion did not failed as expected:#{action} #{args.join(&#39; &#39;)}&quot;</span>
1150
- <span class="ruby-keyword">end</span>
1130
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">failif</span>(<span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1131
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span> <span class="ruby-keyword">do</span>
1132
+ <span class="ruby-keyword">begin</span>
1133
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_vars</span>({ <span class="ruby-string">&#39;__TIMEOUT__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>}) <span class="ruby-keyword">do</span>
1134
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-keyword">false</span>)
1135
+ <span class="ruby-keyword">end</span>
1136
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoSuchElementError</span>
1137
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
1138
+ <span class="ruby-keyword">end</span>
1139
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion did not failed as expected:#{action} #{args.join(&#39; &#39;)}&quot;</span>
1140
+ <span class="ruby-keyword">end</span>
1151
1141
  <span class="ruby-keyword">end</span></pre>
1152
1142
  </div>
1153
1143
 
@@ -1180,20 +1170,19 @@ using the Javascript <code>return</code> statement.</p>
1180
1170
 
1181
1171
  <p>For example:</p>
1182
1172
 
1183
- <pre class="ruby"><span class="ruby-identifier">js</span> <span class="ruby-string">&quot;return document.title&quot;</span> <span class="ruby-identifier">title_var</span>
1184
- <span class="ruby-identifier">echo</span> <span class="ruby-string">&quot;${title_var}&quot;</span>
1185
- <span class="ruby-comment"># =&gt; this would print the title of the page</span>
1186
- </pre>
1173
+ <pre>js &quot;return document.title&quot; title_var
1174
+ echo &quot;${title_var}&quot;
1175
+ # =&gt; this would print the title of the page</pre>
1187
1176
 
1188
1177
 
1189
1178
 
1190
1179
 
1191
1180
  <div class="method-source-code" id="js-source">
1192
1181
  <pre><span class="ruby-comment"># File lib/bauxite/actions/js.rb, line 36</span>
1193
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">js</span>(<span class="ruby-identifier">script</span>, <span class="ruby-identifier">name</span> = <span class="ruby-keyword">nil</span>)
1194
- <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">execute_script</span>(<span class="ruby-identifier">script</span>)
1195
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">result</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span>
1196
- <span class="ruby-keyword">true</span>
1182
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">js</span>(<span class="ruby-identifier">script</span>, <span class="ruby-identifier">name</span> = <span class="ruby-keyword">nil</span>)
1183
+ <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">execute_script</span>(<span class="ruby-identifier">script</span>)
1184
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">result</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span>
1185
+ <span class="ruby-keyword">true</span>
1197
1186
  <span class="ruby-keyword">end</span></pre>
1198
1187
  </div>
1199
1188
 
@@ -1249,8 +1238,8 @@ href="Context.html#method-i-with_vars">Bauxite::Context#with_vars</a>).</p>
1249
1238
 
1250
1239
  <div class="method-source-code" id="load-source">
1251
1240
  <pre><span class="ruby-comment"># File lib/bauxite/actions/load.rb, line 46</span>
1252
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1253
- <span class="ruby-identifier">tryload</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">FileNotFoundError</span>, <span class="ruby-node">&quot;File not found: #{file}&quot;</span>)
1241
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1242
+ <span class="ruby-identifier">tryload</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>) <span class="ruby-operator">||</span> (<span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">FileNotFoundError</span>, <span class="ruby-node">&quot;File not found: #{file}&quot;</span>)
1254
1243
  <span class="ruby-keyword">end</span></pre>
1255
1244
  </div>
1256
1245
 
@@ -1288,9 +1277,9 @@ href="Context.html#method-i-with_vars">Bauxite::Context#with_vars</a>).</p>
1288
1277
 
1289
1278
  <div class="method-source-code" id="open-source">
1290
1279
  <pre><span class="ruby-comment"># File lib/bauxite/actions/open.rb, line 31</span>
1291
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">url</span>)
1292
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">navigate</span>.<span class="ruby-identifier">to</span> <span class="ruby-identifier">url</span>
1293
- <span class="ruby-keyword">true</span>
1280
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">url</span>)
1281
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">navigate</span>.<span class="ruby-identifier">to</span> <span class="ruby-identifier">url</span>
1282
+ <span class="ruby-keyword">true</span>
1294
1283
  <span class="ruby-keyword">end</span></pre>
1295
1284
  </div>
1296
1285
 
@@ -1330,13 +1319,13 @@ empty.</p>
1330
1319
 
1331
1320
  <div class="method-source-code" id="params-source">
1332
1321
  <pre><span class="ruby-comment"># File lib/bauxite/actions/params.rb, line 32</span>
1333
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">params</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1334
- <span class="ruby-identifier">missing</span> = <span class="ruby-identifier">vars</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> (<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">v</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;&#39;</span>) <span class="ruby-operator">==</span> <span class="ruby-string">&#39;&#39;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;, &#39;</span>)
1335
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">missing</span> <span class="ruby-operator">!=</span> <span class="ruby-string">&#39;&#39;</span>
1336
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>,
1337
- <span class="ruby-node">&quot;Assertion failed: the following variables must be defined and not be empty: #{missing}.&quot;</span>
1338
- <span class="ruby-keyword">end</span>
1339
- <span class="ruby-keyword">true</span>
1322
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">params</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1323
+ <span class="ruby-identifier">missing</span> = <span class="ruby-identifier">vars</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> (<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">v</span>] <span class="ruby-operator">||</span> <span class="ruby-string">&#39;&#39;</span>) <span class="ruby-operator">==</span> <span class="ruby-string">&#39;&#39;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;, &#39;</span>)
1324
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">missing</span> <span class="ruby-operator">!=</span> <span class="ruby-string">&#39;&#39;</span>
1325
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>,
1326
+ <span class="ruby-node">&quot;Assertion failed: the following variables must be defined and not be empty: #{missing}.&quot;</span>
1327
+ <span class="ruby-keyword">end</span>
1328
+ <span class="ruby-keyword">true</span>
1340
1329
  <span class="ruby-keyword">end</span></pre>
1341
1330
  </div>
1342
1331
 
@@ -1367,19 +1356,18 @@ empty.</p>
1367
1356
 
1368
1357
  <p>For example:</p>
1369
1358
 
1370
- <pre class="ruby"><span class="ruby-identifier">set</span> <span class="ruby-identifier">place</span> <span class="ruby-string">&quot;World&quot;</span>
1371
- <span class="ruby-identifier">replace</span> <span class="ruby-string">&quot;Hello ${place}&quot;</span> <span class="ruby-string">&quot;World&quot;</span> <span class="ruby-string">&quot;Universe&quot;</span> <span class="ruby-identifier">greeting</span>
1372
- <span class="ruby-identifier">echo</span> <span class="ruby-string">&quot;${greeting}!&quot;</span>
1373
- <span class="ruby-comment"># =&gt; this would print &#39;Hello Universe!&#39;</span>
1374
- </pre>
1359
+ <pre>set place &quot;World&quot;
1360
+ replace &quot;Hello ${place}&quot; &quot;World&quot; &quot;Universe&quot; greeting
1361
+ echo &quot;${greeting}!&quot;
1362
+ # =&gt; this would print &#39;Hello Universe!&#39;</pre>
1375
1363
 
1376
1364
 
1377
1365
 
1378
1366
 
1379
1367
  <div class="method-source-code" id="replace-source">
1380
1368
  <pre><span class="ruby-comment"># File lib/bauxite/actions/replace.rb, line 34</span>
1381
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">replace</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">replacement</span>, <span class="ruby-identifier">name</span>)
1382
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">pattern</span>), <span class="ruby-identifier">replacement</span>)
1369
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">replace</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">replacement</span>, <span class="ruby-identifier">name</span>)
1370
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">pattern</span>), <span class="ruby-identifier">replacement</span>)
1383
1371
  <span class="ruby-keyword">end</span></pre>
1384
1372
  </div>
1385
1373
 
@@ -1420,9 +1408,9 @@ are destroyed.</p>
1420
1408
 
1421
1409
  <div class="method-source-code" id="reset-source">
1422
1410
  <pre><span class="ruby-comment"># File lib/bauxite/actions/reset.rb, line 34</span>
1423
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">reset</span>()
1424
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">reset_driver</span>
1425
- <span class="ruby-keyword">true</span>
1411
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">reset</span>()
1412
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">reset_driver</span>
1413
+ <span class="ruby-keyword">true</span>
1426
1414
  <span class="ruby-keyword">end</span></pre>
1427
1415
  </div>
1428
1416
 
@@ -1473,35 +1461,34 @@ href="Action.html#method-i-click">click</a>, <a
1473
1461
  href="Action.html#method-i-store">store</a> and <a
1474
1462
  href="Action.html#method-i-assert">assert</a> for more details):</p>
1475
1463
 
1476
- <pre class="ruby"><span class="ruby-comment"># in main.bxt</span>
1477
- <span class="ruby-identifier">load</span> <span class="ruby-identifier">login</span>.<span class="ruby-identifier">txt</span> <span class="ruby-string">&quot;username=jdoe&quot;</span> <span class="ruby-string">&quot;password=hello world!&quot;</span>
1464
+ <pre># in main.bxt
1465
+ load login.txt &quot;username=jdoe&quot; &quot;password=hello world!&quot;
1478
1466
 
1479
- <span class="ruby-comment"># in login.bxt</span>
1480
- <span class="ruby-identifier">write</span> <span class="ruby-identifier">id</span>=<span class="ruby-identifier">user</span> <span class="ruby-string">&quot;${username}&quot;</span>
1481
- <span class="ruby-identifier">write</span> <span class="ruby-identifier">id</span>=<span class="ruby-identifier">pass</span> <span class="ruby-string">&quot;${password}&quot;</span>
1482
- <span class="ruby-identifier">click</span> <span class="ruby-identifier">id</span>=<span class="ruby-identifier">login</span>
1483
- <span class="ruby-identifier">store</span> <span class="ruby-identifier">id</span>=<span class="ruby-identifier">loginName</span> <span class="ruby-identifier">fullName</span>
1484
- <span class="ruby-keyword">return</span> <span class="ruby-identifier">fullName</span>
1467
+ # in login.bxt
1468
+ write id=user &quot;${username}&quot;
1469
+ write id=pass &quot;${password}&quot;
1470
+ click id=login
1471
+ store id=loginName fullName
1472
+ return fullName
1485
1473
 
1486
- <span class="ruby-comment"># back in main.bxt</span>
1487
- <span class="ruby-identifier">assert</span> <span class="ruby-identifier">id</span>=<span class="ruby-identifier">greeting</span> <span class="ruby-string">&quot;Welcome ${fullName}!&quot;</span>
1488
- <span class="ruby-comment"># =&gt; this assertion uses the variable returned from login.bxt</span>
1489
- </pre>
1474
+ # back in main.bxt
1475
+ assert id=greeting &quot;Welcome ${fullName}!&quot;
1476
+ # =&gt; this assertion uses the variable returned from login.bxt</pre>
1490
1477
 
1491
1478
 
1492
1479
 
1493
1480
 
1494
1481
  <div class="method-source-code" id="return_action-source">
1495
1482
  <pre><span class="ruby-comment"># File lib/bauxite/actions/return.rb, line 58</span>
1496
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">return_action</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1497
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">vars</span> <span class="ruby-operator">==</span> [<span class="ruby-string">&#39;*&#39;</span>]
1498
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__RETURN__&#39;</span>] = <span class="ruby-identifier">vars</span>
1499
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
1500
- <span class="ruby-keyword">end</span>
1501
-
1502
- <span class="ruby-identifier">rets</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__RETURN__&#39;</span>] <span class="ruby-operator">||</span> []
1503
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__RETURN__&#39;</span>] = <span class="ruby-identifier">rets</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">vars</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">rets</span>.<span class="ruby-identifier">include?</span> <span class="ruby-string">&#39;*&#39;</span>
1504
- <span class="ruby-keyword">true</span>
1483
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">return_action</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1484
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">vars</span> <span class="ruby-operator">==</span> [<span class="ruby-string">&#39;*&#39;</span>]
1485
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__RETURN__&#39;</span>] = <span class="ruby-identifier">vars</span>
1486
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span>
1487
+ <span class="ruby-keyword">end</span>
1488
+
1489
+ <span class="ruby-identifier">rets</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__RETURN__&#39;</span>] <span class="ruby-operator">||</span> []
1490
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-string">&#39;__RETURN__&#39;</span>] = <span class="ruby-identifier">rets</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">vars</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">rets</span>.<span class="ruby-identifier">include?</span> <span class="ruby-string">&#39;*&#39;</span>
1491
+ <span class="ruby-keyword">true</span>
1505
1492
  <span class="ruby-keyword">end</span></pre>
1506
1493
  </div>
1507
1494
 
@@ -1559,13 +1546,13 @@ href="Context.html">Context</a> instance as its only argument.</p>
1559
1546
 
1560
1547
  <div class="method-source-code" id="ruby-source">
1561
1548
  <pre><span class="ruby-comment"># File lib/bauxite/actions/ruby.rb, line 50</span>
1562
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">ruby</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1563
- <span class="ruby-comment"># _load_file_action is defined in tryload.rb</span>
1564
- <span class="ruby-identifier">_load_file_action</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1565
- <span class="ruby-identifier">content</span> = <span class="ruby-string">&#39;&#39;</span>
1566
- <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">f</span>, <span class="ruby-string">&#39;r&#39;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">ff</span><span class="ruby-operator">|</span> <span class="ruby-identifier">content</span> = <span class="ruby-identifier">ff</span>.<span class="ruby-identifier">read</span> }
1567
- <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">content</span>).<span class="ruby-identifier">call</span>(<span class="ruby-ivar">@ctx</span>)
1568
- <span class="ruby-keyword">end</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">FileNotFoundError</span>, <span class="ruby-node">&quot;File not found: #{file}&quot;</span>)
1549
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">ruby</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1550
+ <span class="ruby-comment"># _load_file_action is defined in tryload.rb
1551
+ <span class="ruby-identifier">_load_file_action</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1552
+ <span class="ruby-identifier">content</span> = <span class="ruby-string">&#39;&#39;</span>
1553
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">f</span>, <span class="ruby-string">&#39;r&#39;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">ff</span><span class="ruby-operator">|</span> <span class="ruby-identifier">content</span> = <span class="ruby-identifier">ff</span>.<span class="ruby-identifier">read</span> }
1554
+ <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">content</span>).<span class="ruby-identifier">call</span>(<span class="ruby-ivar">@ctx</span>)
1555
+ <span class="ruby-keyword">end</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">FileNotFoundError</span>, <span class="ruby-node">&quot;File not found: #{file}&quot;</span>)
1569
1556
  <span class="ruby-keyword">end</span></pre>
1570
1557
  </div>
1571
1558
 
@@ -1612,15 +1599,15 @@ the target <code>HTMLOption</code>.</p>
1612
1599
 
1613
1600
  <div class="method-source-code" id="select-source">
1614
1601
  <pre><span class="ruby-comment"># File lib/bauxite/actions/select.rb, line 38</span>
1615
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">select</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-identifier">text</span>)
1616
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
1617
- <span class="ruby-identifier">e</span> = <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Support</span><span class="ruby-operator">::</span><span class="ruby-constant">Select</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">e</span>)
1618
- <span class="ruby-keyword">begin</span>
1619
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">select_by</span>(<span class="ruby-value">:value</span>, <span class="ruby-identifier">text</span>)
1620
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoSuchElementError</span>
1621
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">select_by</span>(<span class="ruby-value">:text</span>, <span class="ruby-identifier">text</span>)
1622
- <span class="ruby-keyword">end</span>
1623
- <span class="ruby-keyword">end</span>
1602
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">select</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-identifier">text</span>)
1603
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
1604
+ <span class="ruby-identifier">e</span> = <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Support</span><span class="ruby-operator">::</span><span class="ruby-constant">Select</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">e</span>)
1605
+ <span class="ruby-keyword">begin</span>
1606
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">select_by</span>(<span class="ruby-value">:value</span>, <span class="ruby-identifier">text</span>)
1607
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoSuchElementError</span>
1608
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">select_by</span>(<span class="ruby-value">:text</span>, <span class="ruby-identifier">text</span>)
1609
+ <span class="ruby-keyword">end</span>
1610
+ <span class="ruby-keyword">end</span>
1624
1611
  <span class="ruby-keyword">end</span></pre>
1625
1612
  </div>
1626
1613
 
@@ -1665,8 +1652,8 @@ href="Context.html#method-i-expand">Bauxite::Context#expand</a>).</p>
1665
1652
 
1666
1653
  <div class="method-source-code" id="set-source">
1667
1654
  <pre><span class="ruby-comment"># File lib/bauxite/actions/set.rb, line 36</span>
1668
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>)
1669
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">value</span>
1655
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>)
1656
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">value</span>
1670
1657
  <span class="ruby-keyword">end</span></pre>
1671
1658
  </div>
1672
1659
 
@@ -1697,25 +1684,24 @@ execution fails, the value of <code>name</code> is left unchanged.</p>
1697
1684
 
1698
1685
  <p>For example:</p>
1699
1686
 
1700
- <pre class="ruby"><span class="ruby-identifier">set</span> <span class="ruby-identifier">name</span> <span class="ruby-identifier">john</span>
1701
- <span class="ruby-identifier">setif</span> <span class="ruby-identifier">is_john</span> <span class="ruby-keyword">true</span> <span class="ruby-identifier">assertv</span> <span class="ruby-string">&quot;/John/i&quot;</span> <span class="ruby-string">&quot;${name}&quot;</span>
1702
- <span class="ruby-identifier">assertv</span> <span class="ruby-keyword">true</span> ${<span class="ruby-identifier">is_john</span>}
1703
- <span class="ruby-comment"># =&gt; the assertion would pass</span>
1704
- </pre>
1687
+ <pre>set name john
1688
+ setif is_john true assertv &quot;/John/i&quot; &quot;${name}&quot;
1689
+ assertv true ${is_john}
1690
+ # =&gt; the assertion would pass</pre>
1705
1691
 
1706
1692
 
1707
1693
 
1708
1694
 
1709
1695
  <div class="method-source-code" id="setif-source">
1710
1696
  <pre><span class="ruby-comment"># File lib/bauxite/actions/setif.rb, line 35</span>
1711
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">setif</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1712
- <span class="ruby-keyword">begin</span>
1713
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-keyword">false</span>)
1714
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">value</span>
1715
- <span class="ruby-keyword">true</span>
1716
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>
1717
- <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
1718
- <span class="ruby-keyword">end</span>
1697
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">setif</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">action</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1698
+ <span class="ruby-keyword">begin</span>
1699
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-keyword">false</span>)
1700
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">value</span>
1701
+ <span class="ruby-keyword">true</span>
1702
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>
1703
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
1704
+ <span class="ruby-keyword">end</span>
1719
1705
  <span class="ruby-keyword">end</span></pre>
1720
1706
  </div>
1721
1707
 
@@ -1757,15 +1743,15 @@ href="Action.html#method-i-assert">assert</a> for more details.</p>
1757
1743
 
1758
1744
  <div class="method-source-code" id="source-source">
1759
1745
  <pre><span class="ruby-comment"># File lib/bauxite/actions/source.rb, line 34</span>
1760
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">source</span>(<span class="ruby-identifier">text</span>)
1761
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span> <span class="ruby-keyword">do</span>
1762
- <span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">page_source</span>
1763
- <span class="ruby-identifier">verbose</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">options</span>[<span class="ruby-value">:verbose</span>] <span class="ruby-operator">?</span> <span class="ruby-node">&quot;\nPage source:\n#{actual}&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>
1764
- <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">text</span>)
1765
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed: page source does not match &#39;#{text}&#39;#{verbose}&quot;</span>
1766
- <span class="ruby-keyword">end</span>
1767
- <span class="ruby-keyword">true</span>
1768
- <span class="ruby-keyword">end</span>
1746
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">source</span>(<span class="ruby-identifier">text</span>)
1747
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_timeout</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span> <span class="ruby-keyword">do</span>
1748
+ <span class="ruby-identifier">actual</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">page_source</span>
1749
+ <span class="ruby-identifier">verbose</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">options</span>[<span class="ruby-value">:verbose</span>] <span class="ruby-operator">?</span> <span class="ruby-node">&quot;\nPage source:\n#{actual}&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&#39;&#39;</span>
1750
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actual</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">_pattern</span>(<span class="ruby-identifier">text</span>)
1751
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">&quot;Assertion failed: page source does not match &#39;#{text}&#39;#{verbose}&quot;</span>
1752
+ <span class="ruby-keyword">end</span>
1753
+ <span class="ruby-keyword">true</span>
1754
+ <span class="ruby-keyword">end</span>
1769
1755
  <span class="ruby-keyword">end</span></pre>
1770
1756
  </div>
1771
1757
 
@@ -1798,19 +1784,18 @@ href="Context.html#method-i-expand">Bauxite::Context#expand</a>).</p>
1798
1784
 
1799
1785
  <p>For example:</p>
1800
1786
 
1801
- <pre class="ruby"><span class="ruby-comment"># assuming &lt;span id=&quot;name&quot;&gt;John&lt;/span&gt;</span>
1802
- <span class="ruby-identifier">store</span> <span class="ruby-identifier">id</span>=<span class="ruby-identifier">name</span> <span class="ruby-identifier">firstName</span>
1803
- <span class="ruby-identifier">echo</span> <span class="ruby-node">&quot;${firstName}
1804
- # =&gt; this would print &#39;John&#39;
1805
- </span></pre>
1787
+ <pre># assuming &lt;span id=&quot;name&quot;&gt;John&lt;/span&gt;
1788
+ store id=name firstName
1789
+ echo &quot;${firstName}
1790
+ # =&gt; this would print &#39;John&#39;</pre>
1806
1791
 
1807
1792
 
1808
1793
 
1809
1794
 
1810
1795
  <div class="method-source-code" id="store-source">
1811
1796
  <pre><span class="ruby-comment"># File lib/bauxite/actions/store.rb, line 35</span>
1812
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">store</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-identifier">name</span>)
1813
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">e</span>) }
1797
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">store</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-identifier">name</span>)
1798
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">variables</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">e</span>) }
1814
1799
  <span class="ruby-keyword">end</span></pre>
1815
1800
  </div>
1816
1801
 
@@ -1849,10 +1834,10 @@ href="Context.html#method-i-expand">Bauxite::Context#expand</a>).</p>
1849
1834
 
1850
1835
  <div class="method-source-code" id="submit-source">
1851
1836
  <pre><span class="ruby-comment"># File lib/bauxite/actions/submit.rb, line 32</span>
1852
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">submit</span>(<span class="ruby-identifier">selector</span>)
1853
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
1854
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">submit</span>
1855
- <span class="ruby-keyword">end</span>
1837
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">submit</span>(<span class="ruby-identifier">selector</span>)
1838
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
1839
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">submit</span>
1840
+ <span class="ruby-keyword">end</span>
1856
1841
  <span class="ruby-keyword">end</span></pre>
1857
1842
  </div>
1858
1843
 
@@ -1892,41 +1877,40 @@ the execution continues with the next test context (if any).</p>
1892
1877
 
1893
1878
  <p>For example:</p>
1894
1879
 
1895
- <pre class="ruby"><span class="ruby-identifier">test</span> <span class="ruby-identifier">mytest</span>.<span class="ruby-identifier">bxt</span> <span class="ruby-string">&quot;My Test&quot;</span> <span class="ruby-identifier">my_var</span>=<span class="ruby-value">1</span>
1896
- <span class="ruby-comment"># =&gt; this would load mytest.bxt into a new test context</span>
1897
- <span class="ruby-comment"># named &quot;My Test&quot;, and within that context ${my_var}</span>
1898
- <span class="ruby-comment"># would expand to 1.</span>
1899
- </pre>
1880
+ <pre>test mytest.bxt &quot;My Test&quot; my_var=1
1881
+ # =&gt; this would load mytest.bxt into a new test context
1882
+ # named &quot;My Test&quot;, and within that context ${my_var}
1883
+ # would expand to 1.</pre>
1900
1884
 
1901
1885
 
1902
1886
 
1903
1887
 
1904
1888
  <div class="method-source-code" id="test-source">
1905
1889
  <pre><span class="ruby-comment"># File lib/bauxite/actions/test.rb, line 42</span>
1906
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">test</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">name</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1907
- <span class="ruby-identifier">delayed</span> = <span class="ruby-identifier">load</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1908
- <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">file</span>
1909
- <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span>
1910
- <span class="ruby-keyword">begin</span>
1911
- <span class="ruby-identifier">t</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
1912
- <span class="ruby-identifier">status</span> = <span class="ruby-string">&#39;ERROR&#39;</span>
1913
- <span class="ruby-identifier">error</span> = <span class="ruby-keyword">nil</span>
1914
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_vars</span>({ <span class="ruby-string">&#39;__TEST__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span> }) <span class="ruby-keyword">do</span>
1915
- <span class="ruby-identifier">delayed</span>.<span class="ruby-identifier">call</span>
1916
- <span class="ruby-identifier">status</span> = <span class="ruby-string">&#39;OK&#39;</span>
1917
- <span class="ruby-keyword">end</span>
1918
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
1919
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">print_error</span>(<span class="ruby-identifier">e</span>)
1920
- <span class="ruby-identifier">error</span> = <span class="ruby-identifier">e</span>
1921
- <span class="ruby-keyword">ensure</span>
1922
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">tests</span> <span class="ruby-operator">&lt;&lt;</span> {
1923
- <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>,
1924
- <span class="ruby-value">:status</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">status</span>,
1925
- <span class="ruby-value">:time</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">t</span>,
1926
- <span class="ruby-value">:error</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">error</span>
1927
- }
1928
- <span class="ruby-keyword">end</span>
1929
- <span class="ruby-keyword">end</span>
1890
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">test</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">name</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1891
+ <span class="ruby-identifier">delayed</span> = <span class="ruby-identifier">load</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1892
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">file</span>
1893
+ <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span>
1894
+ <span class="ruby-keyword">begin</span>
1895
+ <span class="ruby-identifier">t</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
1896
+ <span class="ruby-identifier">status</span> = <span class="ruby-string">&#39;ERROR&#39;</span>
1897
+ <span class="ruby-identifier">error</span> = <span class="ruby-keyword">nil</span>
1898
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">with_vars</span>({ <span class="ruby-string">&#39;__TEST__&#39;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span> }) <span class="ruby-keyword">do</span>
1899
+ <span class="ruby-identifier">delayed</span>.<span class="ruby-identifier">call</span>
1900
+ <span class="ruby-identifier">status</span> = <span class="ruby-string">&#39;OK&#39;</span>
1901
+ <span class="ruby-keyword">end</span>
1902
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
1903
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">print_error</span>(<span class="ruby-identifier">e</span>)
1904
+ <span class="ruby-identifier">error</span> = <span class="ruby-identifier">e</span>
1905
+ <span class="ruby-keyword">ensure</span>
1906
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">tests</span> <span class="ruby-operator">&lt;&lt;</span> {
1907
+ <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>,
1908
+ <span class="ruby-value">:status</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">status</span>,
1909
+ <span class="ruby-value">:time</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">t</span>,
1910
+ <span class="ruby-value">:error</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">error</span>
1911
+ }
1912
+ <span class="ruby-keyword">end</span>
1913
+ <span class="ruby-keyword">end</span>
1930
1914
  <span class="ruby-keyword">end</span></pre>
1931
1915
  </div>
1932
1916
 
@@ -1980,10 +1964,10 @@ href="Context.html#method-i-with_vars">Bauxite::Context#with_vars</a>).</p>
1980
1964
 
1981
1965
  <div class="method-source-code" id="tryload-source">
1982
1966
  <pre><span class="ruby-comment"># File lib/bauxite/actions/tryload.rb, line 46</span>
1983
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">tryload</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1984
- <span class="ruby-identifier">_load_file_action</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1985
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_file</span>(<span class="ruby-identifier">f</span>)
1986
- <span class="ruby-keyword">end</span>
1967
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">tryload</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>)
1968
+ <span class="ruby-identifier">_load_file_action</span>(<span class="ruby-identifier">file</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">vars</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1969
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">exec_file</span>(<span class="ruby-identifier">f</span>)
1970
+ <span class="ruby-keyword">end</span>
1987
1971
  <span class="ruby-keyword">end</span></pre>
1988
1972
  </div>
1989
1973
 
@@ -2021,12 +2005,12 @@ href="Context.html#method-i-with_vars">Bauxite::Context#with_vars</a>).</p>
2021
2005
 
2022
2006
  <div class="method-source-code" id="wait-source">
2023
2007
  <pre><span class="ruby-comment"># File lib/bauxite/actions/wait.rb, line 31</span>
2024
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">seconds</span>)
2025
- <span class="ruby-identifier">seconds</span> = <span class="ruby-identifier">seconds</span>.<span class="ruby-identifier">to_i</span>
2026
- <span class="ruby-identifier">seconds</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
2027
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">logger</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-identifier">seconds</span><span class="ruby-operator">-</span><span class="ruby-identifier">i</span>)
2028
- <span class="ruby-identifier">sleep</span>(<span class="ruby-value">1.0</span>)
2029
- <span class="ruby-keyword">end</span>
2008
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">seconds</span>)
2009
+ <span class="ruby-identifier">seconds</span> = <span class="ruby-identifier">seconds</span>.<span class="ruby-identifier">to_i</span>
2010
+ <span class="ruby-identifier">seconds</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
2011
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">logger</span>.<span class="ruby-identifier">progress</span>(<span class="ruby-identifier">seconds</span><span class="ruby-operator">-</span><span class="ruby-identifier">i</span>)
2012
+ <span class="ruby-identifier">sleep</span>(<span class="ruby-value">1.0</span>)
2013
+ <span class="ruby-keyword">end</span>
2030
2014
  <span class="ruby-keyword">end</span></pre>
2031
2015
  </div>
2032
2016
 
@@ -2058,25 +2042,24 @@ href="Context.html#method-i-expand">Bauxite::Context#expand</a>).</p>
2058
2042
 
2059
2043
  <p>For example:</p>
2060
2044
 
2061
- <pre class="ruby"><span class="ruby-comment"># assuming &lt;input type=&quot;text&quot; name=&quot;username&quot; /&gt;</span>
2062
- <span class="ruby-identifier">write</span> <span class="ruby-identifier">name</span>=<span class="ruby-identifier">username</span> <span class="ruby-string">&quot;John&quot;</span>
2063
- <span class="ruby-comment"># =&gt; this would type the word &#39;John&#39; in the username textbox</span>
2064
- </pre>
2045
+ <pre># assuming &lt;input type=&quot;text&quot; name=&quot;username&quot; /&gt;
2046
+ write name=username &quot;John&quot;
2047
+ # =&gt; this would type the word &#39;John&#39; in the username textbox</pre>
2065
2048
 
2066
2049
 
2067
2050
 
2068
2051
 
2069
2052
  <div class="method-source-code" id="write-source">
2070
2053
  <pre><span class="ruby-comment"># File lib/bauxite/actions/write.rb, line 34</span>
2071
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-identifier">text</span>)
2072
- <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
2073
- <span class="ruby-keyword">begin</span>
2074
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">clear</span>
2075
- <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">UnknownError</span> <span class="ruby-comment"># user-editable...</span>
2076
- <span class="ruby-comment"># do nothing (if this should fail, it will in the line below)</span>
2077
- <span class="ruby-keyword">end</span>
2078
- <span class="ruby-identifier">e</span>.<span class="ruby-identifier">send_keys</span>(<span class="ruby-identifier">text</span>)
2079
- <span class="ruby-keyword">end</span>
2054
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-identifier">text</span>)
2055
+ <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span>
2056
+ <span class="ruby-keyword">begin</span>
2057
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">clear</span>
2058
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">UnknownError</span> <span class="ruby-comment"># user-editable...
2059
+ <span class="ruby-comment"># do nothing (if this should fail, it will in the line below)
2060
+ <span class="ruby-keyword">end</span>
2061
+ <span class="ruby-identifier">e</span>.<span class="ruby-identifier">send_keys</span>(<span class="ruby-identifier">text</span>)
2062
+ <span class="ruby-keyword">end</span>
2080
2063
  <span class="ruby-keyword">end</span></pre>
2081
2064
  </div>
2082
2065
 
@@ -2096,7 +2079,7 @@ href="Context.html#method-i-expand">Bauxite::Context#expand</a>).</p>
2096
2079
 
2097
2080
  <footer id="validator-badges" role="contentinfo">
2098
2081
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
2099
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
2100
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
2082
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
2083
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
2101
2084
  </footer>
2102
2085