rubySelenium 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (286) hide show
  1. data/bin/rubyselenium-seed +25 -0
  2. data/documentation/output/css/style.css +36 -0
  3. data/documentation/output/documentation.html +197 -0
  4. data/documentation/output/files/rdoc/classes/Batch_Generator.html +274 -0
  5. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000062.html +19 -0
  6. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000063.html +26 -0
  7. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000064.html +22 -0
  8. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000065.html +20 -0
  9. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000066.html +23 -0
  10. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000067.html +18 -0
  11. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000068.html +20 -0
  12. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000069.html +18 -0
  13. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000070.html +23 -0
  14. data/documentation/output/files/rdoc/classes/Batch_Generator.src/M000071.html +20 -0
  15. data/documentation/output/files/rdoc/classes/GenerateCommand.html +137 -0
  16. data/documentation/output/files/rdoc/classes/GenerateCommand.src/M000001.html +54 -0
  17. data/documentation/output/files/rdoc/classes/HTML_File_Generator.html +229 -0
  18. data/documentation/output/files/rdoc/classes/HTML_File_Generator.src/M000072.html +23 -0
  19. data/documentation/output/files/rdoc/classes/HTML_File_Generator.src/M000073.html +20 -0
  20. data/documentation/output/files/rdoc/classes/HTML_File_Generator.src/M000074.html +18 -0
  21. data/documentation/output/files/rdoc/classes/HTML_File_Generator.src/M000075.html +19 -0
  22. data/documentation/output/files/rdoc/classes/HTML_File_Generator.src/M000076.html +18 -0
  23. data/documentation/output/files/rdoc/classes/HTML_File_Generator.src/M000077.html +18 -0
  24. data/documentation/output/files/rdoc/classes/HTML_File_Generator.src/M000078.html +18 -0
  25. data/documentation/output/files/rdoc/classes/MissingConfigurationFile.html +111 -0
  26. data/documentation/output/files/rdoc/classes/MissingRubyTestFiles.html +111 -0
  27. data/documentation/output/files/rdoc/classes/RubySelenium.html +1523 -0
  28. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000002.html +20 -0
  29. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000003.html +18 -0
  30. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000004.html +18 -0
  31. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000005.html +18 -0
  32. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000006.html +18 -0
  33. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000007.html +18 -0
  34. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000008.html +18 -0
  35. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000009.html +18 -0
  36. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000010.html +18 -0
  37. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000011.html +18 -0
  38. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000012.html +18 -0
  39. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000013.html +18 -0
  40. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000014.html +18 -0
  41. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000015.html +18 -0
  42. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000016.html +18 -0
  43. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000017.html +18 -0
  44. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000018.html +18 -0
  45. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000019.html +18 -0
  46. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000020.html +18 -0
  47. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000021.html +18 -0
  48. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000022.html +18 -0
  49. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000023.html +18 -0
  50. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000024.html +18 -0
  51. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000025.html +18 -0
  52. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000026.html +18 -0
  53. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000027.html +18 -0
  54. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000028.html +18 -0
  55. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000029.html +18 -0
  56. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000030.html +18 -0
  57. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000031.html +18 -0
  58. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000032.html +18 -0
  59. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000033.html +18 -0
  60. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000034.html +18 -0
  61. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000035.html +18 -0
  62. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000036.html +18 -0
  63. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000037.html +18 -0
  64. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000038.html +18 -0
  65. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000039.html +18 -0
  66. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000040.html +18 -0
  67. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000041.html +18 -0
  68. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000042.html +18 -0
  69. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000043.html +18 -0
  70. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000044.html +18 -0
  71. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000045.html +18 -0
  72. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000046.html +18 -0
  73. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000047.html +18 -0
  74. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000048.html +18 -0
  75. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000049.html +18 -0
  76. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000050.html +18 -0
  77. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000051.html +18 -0
  78. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000052.html +18 -0
  79. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000053.html +18 -0
  80. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000054.html +18 -0
  81. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000055.html +18 -0
  82. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000056.html +21 -0
  83. data/documentation/output/files/rdoc/classes/RubySelenium.src/M000057.html +20 -0
  84. data/documentation/output/files/rdoc/classes/RubySeleniumConfig.html +182 -0
  85. data/documentation/output/files/rdoc/classes/RubySeleniumConfig.src/M000093.html +22 -0
  86. data/documentation/output/files/rdoc/classes/RubySeleniumConfig.src/M000094.html +27 -0
  87. data/documentation/output/files/rdoc/classes/RubySeleniumConfig.src/M000095.html +25 -0
  88. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.html +334 -0
  89. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000079.html +18 -0
  90. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000080.html +18 -0
  91. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000081.html +18 -0
  92. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000082.html +18 -0
  93. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000083.html +18 -0
  94. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000084.html +18 -0
  95. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000085.html +21 -0
  96. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000086.html +21 -0
  97. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000087.html +21 -0
  98. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000088.html +21 -0
  99. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000089.html +21 -0
  100. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000090.html +21 -0
  101. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000091.html +21 -0
  102. data/documentation/output/files/rdoc/classes/RubySeleniumGenerator.src/M000092.html +21 -0
  103. data/documentation/output/files/rdoc/classes/String.html +137 -0
  104. data/documentation/output/files/rdoc/classes/String.src/M000096.html +20 -0
  105. data/documentation/output/files/rdoc/classes/Templates.html +184 -0
  106. data/documentation/output/files/rdoc/classes/Templates.src/M000058.html +20 -0
  107. data/documentation/output/files/rdoc/classes/Templates.src/M000059.html +18 -0
  108. data/documentation/output/files/rdoc/classes/Templates.src/M000060.html +18 -0
  109. data/documentation/output/files/rdoc/classes/Templates.src/M000061.html +18 -0
  110. data/documentation/output/files/rdoc/created.rid +1 -0
  111. data/documentation/output/files/rdoc/files/lib/RubySeleniumGenerator_rb.html +101 -0
  112. data/documentation/output/files/rdoc/files/lib/RubySelenium_rb.html +352 -0
  113. data/documentation/output/files/rdoc/fr_class_index.html +36 -0
  114. data/documentation/output/files/rdoc/fr_file_index.html +28 -0
  115. data/documentation/output/files/rdoc/fr_method_index.html +122 -0
  116. data/documentation/output/files/rdoc/index.html +24 -0
  117. data/documentation/output/files/rdoc/rdoc-style.css +208 -0
  118. data/documentation/output/images/background.jpg +0 -0
  119. data/documentation/output/images/blanklogo_noswirl.jpg +0 -0
  120. data/documentation/output/images/blanklogo_withswirl.jpg +0 -0
  121. data/documentation/output/images/left1.jpg +0 -0
  122. data/documentation/output/images/left1bg.jpg +0 -0
  123. data/documentation/output/images/mainbackground.jpg +0 -0
  124. data/documentation/output/images/menudivider.jpg +0 -0
  125. data/documentation/output/images/tempheadline.jpg +0 -0
  126. data/documentation/output/images/templogo.jpg +0 -0
  127. data/documentation/output/images/toplogobg.jpg +0 -0
  128. data/documentation/output/images/welcome.jpg +0 -0
  129. data/documentation/output/index.html +108 -0
  130. data/documentation/output/menu/my_menu.css +1 -0
  131. data/documentation/output/menu/my_menu.js +1 -0
  132. data/documentation/src/css/style.css +36 -0
  133. data/documentation/src/documentation.template.txt +51 -0
  134. data/documentation/src/files/rdoc/classes/Batch_Generator.html +274 -0
  135. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000062.html +19 -0
  136. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000063.html +26 -0
  137. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000064.html +22 -0
  138. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000065.html +20 -0
  139. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000066.html +23 -0
  140. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000067.html +18 -0
  141. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000068.html +20 -0
  142. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000069.html +18 -0
  143. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000070.html +23 -0
  144. data/documentation/src/files/rdoc/classes/Batch_Generator.src/M000071.html +20 -0
  145. data/documentation/src/files/rdoc/classes/GenerateCommand.html +137 -0
  146. data/documentation/src/files/rdoc/classes/GenerateCommand.src/M000001.html +54 -0
  147. data/documentation/src/files/rdoc/classes/HTML_File_Generator.html +229 -0
  148. data/documentation/src/files/rdoc/classes/HTML_File_Generator.src/M000072.html +23 -0
  149. data/documentation/src/files/rdoc/classes/HTML_File_Generator.src/M000073.html +20 -0
  150. data/documentation/src/files/rdoc/classes/HTML_File_Generator.src/M000074.html +18 -0
  151. data/documentation/src/files/rdoc/classes/HTML_File_Generator.src/M000075.html +19 -0
  152. data/documentation/src/files/rdoc/classes/HTML_File_Generator.src/M000076.html +18 -0
  153. data/documentation/src/files/rdoc/classes/HTML_File_Generator.src/M000077.html +18 -0
  154. data/documentation/src/files/rdoc/classes/HTML_File_Generator.src/M000078.html +18 -0
  155. data/documentation/src/files/rdoc/classes/MissingConfigurationFile.html +111 -0
  156. data/documentation/src/files/rdoc/classes/MissingRubyTestFiles.html +111 -0
  157. data/documentation/src/files/rdoc/classes/RubySelenium.html +1523 -0
  158. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000002.html +20 -0
  159. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000003.html +18 -0
  160. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000004.html +18 -0
  161. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000005.html +18 -0
  162. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000006.html +18 -0
  163. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000007.html +18 -0
  164. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000008.html +18 -0
  165. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000009.html +18 -0
  166. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000010.html +18 -0
  167. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000011.html +18 -0
  168. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000012.html +18 -0
  169. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000013.html +18 -0
  170. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000014.html +18 -0
  171. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000015.html +18 -0
  172. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000016.html +18 -0
  173. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000017.html +18 -0
  174. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000018.html +18 -0
  175. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000019.html +18 -0
  176. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000020.html +18 -0
  177. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000021.html +18 -0
  178. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000022.html +18 -0
  179. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000023.html +18 -0
  180. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000024.html +18 -0
  181. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000025.html +18 -0
  182. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000026.html +18 -0
  183. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000027.html +18 -0
  184. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000028.html +18 -0
  185. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000029.html +18 -0
  186. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000030.html +18 -0
  187. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000031.html +18 -0
  188. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000032.html +18 -0
  189. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000033.html +18 -0
  190. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000034.html +18 -0
  191. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000035.html +18 -0
  192. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000036.html +18 -0
  193. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000037.html +18 -0
  194. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000038.html +18 -0
  195. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000039.html +18 -0
  196. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000040.html +18 -0
  197. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000041.html +18 -0
  198. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000042.html +18 -0
  199. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000043.html +18 -0
  200. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000044.html +18 -0
  201. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000045.html +18 -0
  202. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000046.html +18 -0
  203. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000047.html +18 -0
  204. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000048.html +18 -0
  205. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000049.html +18 -0
  206. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000050.html +18 -0
  207. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000051.html +18 -0
  208. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000052.html +18 -0
  209. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000053.html +18 -0
  210. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000054.html +18 -0
  211. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000055.html +18 -0
  212. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000056.html +21 -0
  213. data/documentation/src/files/rdoc/classes/RubySelenium.src/M000057.html +20 -0
  214. data/documentation/src/files/rdoc/classes/RubySeleniumConfig.html +182 -0
  215. data/documentation/src/files/rdoc/classes/RubySeleniumConfig.src/M000093.html +22 -0
  216. data/documentation/src/files/rdoc/classes/RubySeleniumConfig.src/M000094.html +27 -0
  217. data/documentation/src/files/rdoc/classes/RubySeleniumConfig.src/M000095.html +25 -0
  218. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.html +334 -0
  219. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000079.html +18 -0
  220. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000080.html +18 -0
  221. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000081.html +18 -0
  222. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000082.html +18 -0
  223. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000083.html +18 -0
  224. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000084.html +18 -0
  225. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000085.html +21 -0
  226. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000086.html +21 -0
  227. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000087.html +21 -0
  228. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000088.html +21 -0
  229. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000089.html +21 -0
  230. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000090.html +21 -0
  231. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000091.html +21 -0
  232. data/documentation/src/files/rdoc/classes/RubySeleniumGenerator.src/M000092.html +21 -0
  233. data/documentation/src/files/rdoc/classes/String.html +137 -0
  234. data/documentation/src/files/rdoc/classes/String.src/M000096.html +20 -0
  235. data/documentation/src/files/rdoc/classes/Templates.html +184 -0
  236. data/documentation/src/files/rdoc/classes/Templates.src/M000058.html +20 -0
  237. data/documentation/src/files/rdoc/classes/Templates.src/M000059.html +18 -0
  238. data/documentation/src/files/rdoc/classes/Templates.src/M000060.html +18 -0
  239. data/documentation/src/files/rdoc/classes/Templates.src/M000061.html +18 -0
  240. data/documentation/src/files/rdoc/created.rid +1 -0
  241. data/documentation/src/files/rdoc/files/lib/RubySeleniumGenerator_rb.html +101 -0
  242. data/documentation/src/files/rdoc/files/lib/RubySelenium_rb.html +352 -0
  243. data/documentation/src/files/rdoc/fr_class_index.html +36 -0
  244. data/documentation/src/files/rdoc/fr_file_index.html +28 -0
  245. data/documentation/src/files/rdoc/fr_method_index.html +122 -0
  246. data/documentation/src/files/rdoc/index.html +24 -0
  247. data/documentation/src/files/rdoc/rdoc-style.css +208 -0
  248. data/documentation/src/images/background.jpg +0 -0
  249. data/documentation/src/images/blanklogo_noswirl.jpg +0 -0
  250. data/documentation/src/images/blanklogo_withswirl.jpg +0 -0
  251. data/documentation/src/images/left1.jpg +0 -0
  252. data/documentation/src/images/left1bg.jpg +0 -0
  253. data/documentation/src/images/mainbackground.jpg +0 -0
  254. data/documentation/src/images/menudivider.jpg +0 -0
  255. data/documentation/src/images/tempheadline.jpg +0 -0
  256. data/documentation/src/images/templogo.jpg +0 -0
  257. data/documentation/src/images/toplogobg.jpg +0 -0
  258. data/documentation/src/images/welcome.jpg +0 -0
  259. data/documentation/src/index.template.txt +50 -0
  260. data/documentation/src/keywords/documentation_user_guide_content.keyword.txt +134 -0
  261. data/documentation/src/keywords/generic_browser_title.keyword.txt +1 -0
  262. data/documentation/src/keywords/generic_published.keyword.rb +1 -0
  263. data/documentation/src/keywords/index_content.keyword.txt +51 -0
  264. data/documentation/src/menu/default_menu/default_menu.css +44 -0
  265. data/documentation/src/menu/default_menu/default_menu.html.txt +28 -0
  266. data/documentation/src/menu/default_menu/default_menu.js +19 -0
  267. data/documentation/src/menu/menu_config.txt +1 -0
  268. data/documentation/src/menu/my_menu/my_menu.html.txt +15 -0
  269. data/lib/RubySelenium.rb +1088 -0
  270. data/lib/RubySeleniumGenerator.rb +570 -0
  271. data/rubySelenium.gemspec +48 -0
  272. data/unittests/TODO.txt +10 -0
  273. data/unittests/all_tests.rb +5 -0
  274. data/unittests/rubySeleniumConfig.txt +41 -0
  275. data/unittests/test-structure/001_MyFirstTest.rb +15 -0
  276. data/unittests/test-structure/002_MySecondTest.rb +15 -0
  277. data/unittests/test-structure/003_MyThirdTest.rb +15 -0
  278. data/unittests/test-structure/execute_all_tests.rb +2 -0
  279. data/unittests/test-structure/generate_all_tests.rb +2 -0
  280. data/unittests/test-structure/rubySeleniumConfig.txt +41 -0
  281. data/unittests/test_batch_generator.rb +58 -0
  282. data/unittests/test_command_line_execution.rb +17 -0
  283. data/unittests/test_config_file.rb +28 -0
  284. data/unittests/test_html_file_creation.rb +93 -0
  285. data/unittests/test_selenium_core_api.rb +108 -0
  286. metadata +374 -0
@@ -0,0 +1,48 @@
1
+ require 'rubygems'
2
+
3
+ spec = Gem::Specification.new do |s|
4
+
5
+ #### Basic information.
6
+
7
+ s.name = 'rubySelenium'
8
+ s.version = "0.0.8"
9
+ s.summary = <<-EOF
10
+ rubySelenium is a wrapper around Selenium that generates the FitRunner style HTML
11
+ on the fly so you can write selenium scripts programmatically.
12
+ EOF
13
+ s.description = <<-EOF
14
+ rubySelenium allows you to write Selenium scripts programmatically and allows you to
15
+ add dynamic dates and data as well as allowing for a data driven approach, but most of
16
+ all eases the creation and maintainability of scripts through functional decomposition.
17
+ BugFixes in this release:
18
+ 1. Complete re-write
19
+ EOF
20
+
21
+ #### Dependencies and requirements.
22
+
23
+ #### Which files are to be included in this gem? Everything! (Except CVS directories.)
24
+
25
+ s.files = Dir.glob("**/*").delete_if { |item| item.include?("CVS") }
26
+
27
+ #### C code extensions.
28
+
29
+ #### Load-time details: library and application (you will need one or both).
30
+
31
+ s.require_path = 'lib' # Use these for libraries.
32
+ #s.autorequire = 'rubySelenium'
33
+
34
+ s.bindir = "bin" # Use these for applications.
35
+ s.executables = ["rubyselenium-seed"]
36
+ s.default_executable = "rubyselenium-seed"
37
+
38
+ #### Documentation and testing.
39
+
40
+ s.has_rdoc = true
41
+
42
+ #### Author and project details.
43
+
44
+ s.author = "Kingsley Hendrickse"
45
+ s.email = "kingsley@icecode.org"
46
+ s.homepage = "HTTP://rubySelenium.rubyforge.org"
47
+ s.rubyforge_project = "rubySelenium"
48
+ end
@@ -0,0 +1,10 @@
1
+ <-- done 1. command line options for generate
2
+ <-- done 2. go command
3
+ <-- done 3. execute_all_test command
4
+ <-- done 4. test id, value, api stuff
5
+
6
+
7
+ other
8
+ 1. selenium -> watir convertor
9
+ 2. datahandler --> ostruct
10
+ <-- done 3. eclipse
@@ -0,0 +1,5 @@
1
+ require 'test_selenium_core_api'
2
+ require 'test_html_file_creation'
3
+ require 'test_batch_generator'
4
+ require 'test_command_line_execution'
5
+ require 'test_config_file'
@@ -0,0 +1,41 @@
1
+ # These configurations are only used when running locally on your machine
2
+ # and don't apply for running on a remote server in automated test mode.
3
+
4
+ # GENERATE_LOCATION
5
+ # This sets the location that rubySelenium will generate the html.
6
+ # set it with the full path to the folder you want the tests to be generated into.
7
+ # e.g. C:/IBM/workspaces/SecureMessaging1/FunctionalTests/WebContent/tests/Ruby
8
+
9
+ GENERATE_LOCATION = .
10
+
11
+ # TEST_LOCATION
12
+ # This sets the location that rubySelenium should look for when running
13
+ # the tests locally. It should point to the url of where the tests live on
14
+ # your local server.
15
+ #
16
+ # e.g. if you navigate to
17
+ # http://localhost:9081/Selenium/tests/Ruby/tests/seleniumTestRunner.html
18
+ # to find your tests then you should set this property to
19
+ # http://localhost:9081/Selenium/tests/Ruby
20
+
21
+ TEST_LOCATION = http://localhost:9081/Selenium/tests/rubySeleniumScripts
22
+
23
+ # LOGGING
24
+ # This turns the log output on or off when using the generate command.
25
+ # When you run the generate command all the html is generated - this is
26
+ # for use when hooked up to the remote cruisecontrol driven automation.
27
+ # The logs show all the ruby code that is executed in order to create the html.
28
+ #
29
+ # set it to true or false to turn it on or off
30
+
31
+ LOGGING = true
32
+
33
+ # IE_LOCATION
34
+ # This is the location of your Internet Explorer executable (iexplore.exe)
35
+
36
+ IE_LOCATION = C:/Program Files/Internet Explorer/IEXPLORE.EXE
37
+
38
+ # FF_LOCATION
39
+ # This is the location of your Firefox executable (firefox.exe)
40
+
41
+ FF_LOCATION = C:/Program Files/Mozilla Firefox/firefox.exe
@@ -0,0 +1,15 @@
1
+ require '../../lib/RubySelenium'
2
+
3
+ # Create new RubySelenium instance
4
+ s = RubySelenium.new("001_MyFirstTest")
5
+
6
+ # begin test
7
+ # happy path for requesting a quote with some investment details
8
+ s.open("http://www.google.com")
9
+ s.verifyTextPresent("welcome page")
10
+ s.click("logoutUser")
11
+ s.verifyTextPresent("logged out now")
12
+ s.complete
13
+ s.go
14
+
15
+
@@ -0,0 +1,15 @@
1
+ require '../../lib/RubySelenium'
2
+
3
+ # Create new RubySelenium instance
4
+ s = RubySelenium.new("002_MySecondTest")
5
+
6
+ # begin test
7
+ # happy path for requesting a quote with some investment details
8
+ s.open("http://www.google.com")
9
+ s.verifyTextPresent("welcome page")
10
+ s.click("logoutUser")
11
+ s.verifyTextPresent("logged out now")
12
+ s.complete
13
+ s.go
14
+
15
+
@@ -0,0 +1,15 @@
1
+ require '../../lib/RubySelenium'
2
+
3
+ # Create new RubySelenium instance
4
+ s = RubySelenium.new("003_MyThirdTest")
5
+
6
+ # begin test
7
+ # happy path for requesting a quote with some investment details
8
+ s.open("http://www.google.com")
9
+ s.verifyTextPresent("welcome page")
10
+ s.click("logoutUser")
11
+ s.verifyTextPresent("logged out now")
12
+ s.complete
13
+ s.go
14
+
15
+
@@ -0,0 +1,2 @@
1
+ require '../../lib/RubySelenium'
2
+ Batch_Generator.new.go
@@ -0,0 +1,2 @@
1
+ require '../../lib/RubySelenium'
2
+ Batch_Generator.new.create_all_test_files
@@ -0,0 +1,41 @@
1
+ # These configurations are only used when running locally on your machine
2
+ # and don't apply for running on a remote server in automated test mode.
3
+
4
+ # GENERATE_LOCATION
5
+ # This sets the location that rubySelenium will generate the html.
6
+ # set it with the full path to the folder you want the tests to be generated into.
7
+ # e.g. C:/IBM/workspaces/SecureMessaging1/FunctionalTests/WebContent/tests/Ruby
8
+
9
+ GENERATE_LOCATION = ./tests
10
+
11
+ # TEST_LOCATION
12
+ # This sets the location that rubySelenium should look for when running
13
+ # the tests locally. It should point to the url of where the tests live on
14
+ # your local server.
15
+ #
16
+ # e.g. if you navigate to
17
+ # http://localhost:9081/Selenium/tests/Ruby/tests/seleniumTestRunner.html
18
+ # to find your tests then you should set this property to
19
+ # http://localhost:9081/Selenium/tests/Ruby
20
+
21
+ TEST_LOCATION = http://localhost:9081/Selenium/tests/rubySeleniumScripts
22
+
23
+ # LOGGING
24
+ # This turns the log output on or off when using the generate command.
25
+ # When you run the generate command all the html is generated - this is
26
+ # for use when hooked up to the remote cruisecontrol driven automation.
27
+ # The logs show all the ruby code that is executed in order to create the html.
28
+ #
29
+ # set it to true or false to turn it on or off
30
+
31
+ LOGGING = true
32
+
33
+ # IE_LOCATION
34
+ # This is the location of your Internet Explorer executable (iexplore.exe)
35
+
36
+ IE_LOCATION = C:/Program Files/Internet Explorer/IEXPLORE.EXE
37
+
38
+ # FF_LOCATION
39
+ # This is the location of your Firefox executable (firefox.exe)
40
+
41
+ FF_LOCATION = C:/Program Files/Mozilla Firefox/firefox.exe
@@ -0,0 +1,58 @@
1
+ require 'test/unit'
2
+ require '../lib/RubySelenium'
3
+
4
+ class Test_Batch_Generator < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @batch_generator = Batch_Generator.new("test-structure")
8
+ end
9
+
10
+ def test_build_tests_list_returns_error_on_missing_tests
11
+ assert_raises(MissingRubyTestFiles){ Batch_Generator.new("test-structure/missing-tests").build_tests_list }
12
+ end
13
+
14
+ def test_build_tests_list_returns_list_of_tests
15
+ expected_test_list = ["test-structure/001_MyFirstTest.rb", "test-structure/002_MySecondTest.rb", "test-structure/003_MyThirdTest.rb"]
16
+ assert_equal expected_test_list, @batch_generator.build_tests_list
17
+ end
18
+
19
+ def test_build_tests_array_returns_list_of_tests
20
+ file_1_content = ["require '../../lib/RubySelenium'\n", "\n", "# Create new RubySelenium instance\n", "s = RubySelenium.new(\"001_MyFirstTest\")\n", "\n", "# begin test\n", "# happy path for requesting a quote with some investment details\n", "s.open(\"http://www.google.com\")\n", "s.verifyTextPresent(\"welcome page\")\n", "s.click(\"logoutUser\")\n", "s.verifyTextPresent(\"logged out now\")\n", "s.complete\n", "s.go\n", "\n", "\n"]
21
+ file_2_content = ["require '../../lib/RubySelenium'\n", "\n", "# Create new RubySelenium instance\n", "s = RubySelenium.new(\"002_MySecondTest\")\n", "\n", "# begin test\n", "# happy path for requesting a quote with some investment details\n", "s.open(\"http://www.google.com\")\n", "s.verifyTextPresent(\"welcome page\")\n", "s.click(\"logoutUser\")\n", "s.verifyTextPresent(\"logged out now\")\n", "s.complete\n", "s.go\n", "\n", "\n"]
22
+ file_3_content = ["require '../../lib/RubySelenium'\n", "\n", "# Create new RubySelenium instance\n", "s = RubySelenium.new(\"003_MyThirdTest\")\n", "\n", "# begin test\n", "# happy path for requesting a quote with some investment details\n", "s.open(\"http://www.google.com\")\n", "s.verifyTextPresent(\"welcome page\")\n", "s.click(\"logoutUser\")\n", "s.verifyTextPresent(\"logged out now\")\n", "s.complete\n", "s.go\n", "\n", "\n"]
23
+ assert_equal file_1_content, @batch_generator.build_tests_array[0]
24
+ assert_equal file_2_content, @batch_generator.build_tests_array[1]
25
+ assert_equal file_3_content, @batch_generator.build_tests_array[2]
26
+ end
27
+
28
+ def test_remove_go_commands_from_tests_array
29
+ file_1_content = ["require '../../lib/RubySelenium'\n", "\n", "# Create new RubySelenium instance\n", "s = RubySelenium.new(\"001_MyFirstTest\")\n", "\n", "# begin test\n", "# happy path for requesting a quote with some investment details\n", "s.open(\"http://www.google.com\")\n", "s.verifyTextPresent(\"welcome page\")\n", "s.click(\"logoutUser\")\n", "s.verifyTextPresent(\"logged out now\")\n", "s.complete\n", "\n", "\n"]
30
+ file_2_content = ["require '../../lib/RubySelenium'\n", "\n", "# Create new RubySelenium instance\n", "s = RubySelenium.new(\"002_MySecondTest\")\n", "\n", "# begin test\n", "# happy path for requesting a quote with some investment details\n", "s.open(\"http://www.google.com\")\n", "s.verifyTextPresent(\"welcome page\")\n", "s.click(\"logoutUser\")\n", "s.verifyTextPresent(\"logged out now\")\n", "s.complete\n", "\n", "\n"]
31
+ file_3_content = ["require '../../lib/RubySelenium'\n", "\n", "# Create new RubySelenium instance\n", "s = RubySelenium.new(\"003_MyThirdTest\")\n", "\n", "# begin test\n", "# happy path for requesting a quote with some investment details\n", "s.open(\"http://www.google.com\")\n", "s.verifyTextPresent(\"welcome page\")\n", "s.click(\"logoutUser\")\n", "s.verifyTextPresent(\"logged out now\")\n", "s.complete\n", "\n", "\n"]
32
+ assert_equal file_1_content, @batch_generator.remove_go_commands_from_tests_array[0]
33
+ assert_equal file_2_content, @batch_generator.remove_go_commands_from_tests_array[1]
34
+ assert_equal file_3_content, @batch_generator.remove_go_commands_from_tests_array[2]
35
+ end
36
+
37
+ def test_generate_test_suite_for_all_files_returns_html
38
+ test_suite_content = "<html>\n<head>\n<meta content=\"text/html; charset=ISO-8859-1\" http-equiv=\"content-type\">\n<title>Portal Framework Functional Testing</title>\n</head>\n<body>\n<table cellpadding=\"1\" cellspacing=\"1\" border=\"1\">\n<tbody>\n<tr><td><b>seleniumTestSuite</b></td></tr>\n<tr><td><a href=\"001_MyFirstTest.html\">001_MyFirstTest</a></td></tr>\n<tr><td><a href=\"002_MySecondTest.html\">002_MySecondTest</a></td></tr>\n<tr><td><a href=\"003_MyThirdTest.html\">003_MyThirdTest</a></td></tr>\n\n</tbody>\n</table>\n</body>\n</html>\n"
39
+ assert_equal test_suite_content, @batch_generator.generate_test_suite_for_all_files
40
+ end
41
+
42
+ def test_find_html_contents_of_generation_directory
43
+ html_file = ["./my_first_file.html","./my_second_file.html","./my_third_file.html"]
44
+ html_file.each{|file| File.open(file, "w"){|f| f.puts "test-file"}}
45
+ assert_equal html_file, @batch_generator.find_html_contents_of_generation_directory
46
+ html_file.each{|f| File.delete(f)}
47
+ end
48
+
49
+ def test_generate_all_tests_ruby_file_generates_tests
50
+ generated_files = ["001_MyFirstTest.html", "002_MySecondTest.html", "003_MyThirdTest.html", "seleniumTestRunner.html", "seleniumTestSuite.html"]
51
+ Dir.chdir("test-structure"){system("ruby generate_all_tests.rb")}
52
+ generated_files.each{|f| assert File.exists?("test-structure/tests/#{f}"), "#{f} not found" ; File.delete("test-structure/tests/#{f}")}
53
+ # Test generated_log.txt is generated when logging set to true
54
+ assert File.exists?("test-structure/generate_log.txt"), "Generate_log.txt not found"
55
+ File.delete("test-structure/generate_log.txt")
56
+ end
57
+
58
+ end
@@ -0,0 +1,17 @@
1
+ require 'test/unit'
2
+ require '../lib/RubySelenium'
3
+
4
+ class Test_Command_Line_Execution < Test::Unit::TestCase
5
+
6
+ def test_generate_all_tests_ruby_file_generates_tests
7
+ generated_files = ["001_MyFirstTest.html", "002_MySecondTest.html", "003_MyThirdTest.html", "seleniumTestRunner.html", "seleniumTestSuite.html"]
8
+ Dir.chdir("test-structure"){system("ruby generate_all_tests.rb -g command-line-generation")}
9
+ generated_files.each{|f| assert File.exists?("test-structure/command-line-generation/#{f}"), "#{f} not found" ; File.delete("test-structure/command-line-generation/#{f}")}
10
+ # Test generated_log.txt is generated when logging set to true
11
+ assert File.exists?("test-structure/generate_log.txt"), "Generate_log.txt not found"
12
+ File.delete("test-structure/generate_log.txt")
13
+ end
14
+
15
+
16
+
17
+ end
@@ -0,0 +1,28 @@
1
+ require 'test/unit'
2
+ require '../lib/RubySelenium'
3
+
4
+ class Test_Config_File < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @config = RubySeleniumConfig.new("test-structure/rubySeleniumConfig.txt")
8
+ end
9
+
10
+ def test_config_handles_missing_config_file
11
+ assert_raises(MissingConfigurationFile){ RubySeleniumConfig.new("missing_rubySeleniumConfig.txt")}
12
+ end
13
+
14
+ def test_parse_config_file_returns_raw_config_data
15
+ config_data = ["GENERATE_LOCATION = ./tests", "TEST_LOCATION = http://localhost:9081/Selenium/tests/rubySeleniumScripts", "LOGGING = true", "IE_LOCATION = C:/Program Files/Internet Explorer/IEXPLORE.EXE", "FF_LOCATION = C:/Program Files/Mozilla Firefox/firefox.exe"]
16
+ assert_equal config_data, @config.parse_config_file
17
+ end
18
+
19
+ def test_properties_file_returns_properties_hash
20
+ properties = @config.properties
21
+ assert_equal "C:/Program Files/Mozilla Firefox/firefox.exe", properties['FF_LOCATION'].value
22
+ assert_equal "C:/Program Files/Internet Explorer/IEXPLORE.EXE", properties['IE_LOCATION'].value
23
+ assert_equal "http://localhost:9081/Selenium/tests/rubySeleniumScripts", properties['TEST_LOCATION'].value
24
+ assert_equal "true", properties['LOGGING'].value
25
+ assert_equal "./tests", properties['GENERATE_LOCATION'].value
26
+ end
27
+
28
+ end
@@ -0,0 +1,93 @@
1
+ require 'test/unit'
2
+ require '../lib/RubySelenium'
3
+
4
+ class Test_HTML_File_Generator < Test::Unit::TestCase
5
+
6
+ def teardown
7
+ ["001_create_test_file_from_generator.html",
8
+ "002_create_test_file_from_go_command.html",
9
+ "seleniumTestRunner.html",
10
+ "seleniumTestSuite.html",
11
+ ].each{|file| if File.exists?(file) then File.delete(file) end }
12
+ end
13
+
14
+ def test_generate_single_script_returns_correct_html
15
+ selenium = RubySelenium.new("001_initialize_test_file")
16
+ selenium.open("http://rubyselenium.rubyforge.org")
17
+ selenium.verifyTitle("rubySelenium")
18
+ script_content = HTML_File_Generator.new(selenium.ruby_selenium_script).generate_single_script
19
+ content = ['<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">',
20
+ '<html>',
21
+ '<head>',
22
+ '<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">',
23
+ '<title>001_initialize_test_file</title>',
24
+ '</head>',
25
+ '<body>',
26
+ '<table cellpadding="1" cellspacing="1" border="1">',
27
+ '<tbody>',
28
+ '<tr>',
29
+ '<td rowspan="1" colspan="3">001_initialize_test_file<br>',
30
+ '</td>',
31
+ '</tr>',
32
+ '<tr><td>open</td><td>http://rubyselenium.rubyforge.org</td><td>&nbsp;</td></tr>',
33
+ '<tr><td>verifyTitle</td><td>rubySelenium</td><td>&nbsp;</td></tr>',
34
+ '</tbody>',
35
+ '</table>',
36
+ '</body>',
37
+ '</html><table>',
38
+ '<tr>',
39
+ '<td><b>Selenium Id</b></td>',
40
+ '<td id="SeleniumKey"></td>',
41
+ '</tr>',
42
+ '</table>']
43
+ content.each_with_index{|line,i| assert_equal line + "\n", script_content.to_a[i]}
44
+ end
45
+
46
+ def test_that_create_single_script_file_creates_the_html_file
47
+ selenium = RubySelenium.new("001_create_test_file_from_generator")
48
+ selenium.open("http://rubyselenium.rubyforge.org")
49
+ selenium.verifyTitle("rubySelenium")
50
+ script_content = HTML_File_Generator.new(selenium.ruby_selenium_script).create_single_script_file
51
+ assert File.exists?("001_create_test_file_from_generator.html")
52
+ end
53
+
54
+ def test_that_generate_test_runner_returns_correct_html
55
+ selenium = RubySelenium.new("002_generate_test_runner")
56
+ expected_test_runner_content = ["<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n", "<html>\n", "<head>\n", "<meta content=\"text/html; charset=ISO-8859-1\" http-equiv=\"content-type\" />\n", "\n", "<title>Selenium Functional Test Runner</title>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../html-xpath/html-xpath-patched.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../selenium-browserbot.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../selenium-api.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../selenium-commandhandlers.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../selenium-executionloop.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../selenium-fitrunner.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../selenium-logging.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../htmlutils.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../selenium-domviewer.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../xpath.js\"></script>\n", "<script language=\"JavaScript\" type=\"text/javascript\" src=\"../../../user-extensions.js\"></script>\n", "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../../selenium.css\" />\n", "</head>\n", "\n", "<body onload=\"start();\">\n", "\n", "<table class=\"layout\">\n", "<form action=\"\" name=\"controlPanel\">\n", "\n", "<!-- Suite, Test, Control Panel -->\n", "\n", "<tr class=\"selenium\">\n", "<td width=\"25%\" height=\"30%\" rowspan=\"2\"><iframe name=\"testSuiteFrame\" id=\"testSuiteFrame\" src=\"seleniumTestSuite.html\"></iframe></td>\n", "<td width=\"50%\" height=\"30%\" rowspan=\"2\"><iframe name=\"testFrame\" id=\"testFrame\"></iframe></td>\n", "<th width=\"25%\" height=\"1\" class=\"header\">\n", "<h1><a href=\"http://selenium.thoughtworks.com\" title=\"The Selenium Project\">Selenium</a> TestRunner</h1>\n", "</th>\n", "</tr>\n", "\n", "<tr class=\"selenium\">\n", "<td width=\"25%\" height=\"30%\" id=\"controlPanel\">\n", "\n", "<table id=\"controls\">\n", "<tr>\n", "<td>\n", "<b>Run:</b>\n", "<button type=\"button\" id=\"runTest\" onclick=\"runSingleTest();\"><em>Selected</em> Test</button>\n", "<button type=\"button\" id=\"runSuite\" onclick=\"startTestSuite();\"><strong>All</strong> Tests</button>\n", "</td>\n", "</tr>\n", "<tr>\n", "<td>\n", "<b>Mode:</b>\n", "<label><input id=\"modeRun\" type=\"radio\" name=\"runMode\" value=\"0\" checked=\"checked\"/>Run</label>\n", "<label><input id=\"modeWalk\" type=\"radio\" name=\"runMode\" value=\"500\" />Walk</label>\n", "<label><input id=\"modeStep\" type=\"radio\" name=\"runMode\" value=\"-1\" />Step</label>\n", "</td>\n", "</tr>\n", "<tr>\n", "<td>\n", "<button type=\"button\" id=\"domViewer1\" onclick=\"newRoot=getIframeDocument(getElementById('myiframe'));window.open('../../domviewer.html');return false;\">View DOM</button>\n", "<button type=\"button\" id=\"continueTest\" disabled=\"disabled\">Next/Continue</button>\n", "</td>\n", "</tr>\n", "</table>\n", "\n", "<table id=\"stats\" align=\"center\">\n", "<tr>\n", "<td colspan=\"2\" align=\"right\">Elapsed:</td>\n", "<td id=\"elapsedTime\" colspan=\"2\">00.00</td>\n", "</tr>\n", "<tr>\n", "<th colspan=\"2\">Tests</th>\n", "<th colspan=\"2\">Commands</th>\n", "</tr>\n", "<tr>\n", "<td class=\"count\" id=\"testRuns\">0</td>\n", "<td>run</td>\n", "<td class=\"count\" id=\"commandPasses\">0</td>\n", "<td>passed</td>\n", "</tr>\n", "<tr>\n", "<td class=\"count\" id=\"testFailures\">0</td>\n", "<td>failed</td>\n", "<td class=\"count\" id=\"commandFailures\">0</td>\n", "<td>failed</td>\n", "</tr>\n", "<tr>\n", "<td colspan=\"2\"></td>\n", "<td class=\"count\" id=\"commandErrors\">0</td>\n", "<td>incomplete</td>\n", "</tr>\n", "</table>\n", "</td>\n", "</tr>\n", "\n", "<!-- AUT -->\n", "<tr>\n", "<td colspan=\"3\" height=\"70%\"><iframe name=\"myiframe\" id=\"myiframe\" src=\"../../../TestRunner-splash.html\"></iframe></td>\n","</tr>\n","</form>\n", "</table>\n", "\n", "<div id=\"logging-console\">\n", "<h1>Javascript Log Console (<a id=\"closeLog\" href=\"javascript:LOG.hide()\">Close</a> <a href=\"javascript:LOG.clear();LOG.hide();\">Clear</a>)</h1>\n", "<ul id=\"log-list\"/>\n", "</div>\n", "<script language=\"javascript\">\n", "LOG = new Logger(LEVEL_WARN);\n", "LOG.hide();\n", "</script>\n", "</body>\n", "</html>\n"]
57
+ test_runner_content = HTML_File_Generator.new(selenium.ruby_selenium_script).generate_test_runner
58
+ expected_test_runner_content.each_with_index{|line,i| assert_equal line, test_runner_content.to_a[i]}
59
+ end
60
+
61
+ def test_that_create_test_runner_file_creates_the_html_file
62
+ # Have to pass a RubySelenium object into HTML Generator class - but to make the testRunner we don't need it - it's just there to satisfy dependency
63
+ selenium = RubySelenium.new("seleniumTestRunner.html")
64
+ script_content = HTML_File_Generator.new(selenium.ruby_selenium_script).create_test_runner_file
65
+ assert File.exists?("seleniumTestRunner.html")
66
+ end
67
+
68
+ def test_that_generate_test_suite_returns_correct_html
69
+ selenium = RubySelenium.new("002_generate_test_suite")
70
+ expected_test_suite_content = ["<html>\n", "<head>\n", "<meta content=\"text/html; charset=ISO-8859-1\" http-equiv=\"content-type\">\n", "<title>Portal Framework Functional Testing</title>\n", "</head>\n", "<body>\n", "<table cellpadding=\"1\" cellspacing=\"1\" border=\"1\">\n", "<tbody>\n", "<tr><td><b>seleniumTestSuite</b></td></tr>\n", "<tr><td><a href=\"002_generate_test_suite.html\">002_generate_test_suite</a></td></tr>\n", "</tbody>\n", "</table>\n", "</body>\n", "</html>\n"]
71
+ test_suite_content = HTML_File_Generator.new(selenium.ruby_selenium_script).generate_test_suite
72
+ expected_test_suite_content.each_with_index{|line,i| assert_equal line, test_suite_content.to_a[i]}
73
+ end
74
+
75
+ def test_that_create_test_suite_file_creates_the_html_file
76
+ # Have to pass a RubySelenium object into HTML Generator class - but to make the testRunner we don't need it - it's just there to satisfy dependency
77
+ selenium = RubySelenium.new("seleniumTestSuite.html")
78
+ script_content = HTML_File_Generator.new(selenium.ruby_selenium_script).create_test_suite_file
79
+ assert File.exists?("seleniumTestSuite.html")
80
+ end
81
+
82
+ def test_that_generate_command_creates_the_html_files_required_to_run_single_script
83
+ selenium = RubySelenium.new("002_create_test_file_from_go_command")
84
+ selenium.open("http://rubyselenium.rubyforge.org")
85
+ selenium.verifyTitle("rubySelenium")
86
+ selenium.complete
87
+ assert File.exists?("002_create_test_file_from_go_command.html")
88
+ assert File.exists?("seleniumTestRunner.html")
89
+ end
90
+
91
+
92
+
93
+ end
@@ -0,0 +1,108 @@
1
+ require 'test/unit'
2
+ require '../lib/RubySelenium'
3
+
4
+ class Test_Selenium_Core_API < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @selenium = RubySelenium.new("selenium_test_script")
8
+ end
9
+
10
+ def test_string_class_manipulation_returns_nbsp_on_empty_value
11
+ assert_equal "<tr><td>command</td><td>target</td><td>&nbsp;</td></tr>", "command"._h("target", " ")
12
+ assert_equal "<tr><td>command</td><td>target</td><td>&nbsp;</td></tr>", "command"._h("target", "")
13
+ assert_equal "<tr><td>command</td><td>target</td><td>&nbsp;</td></tr>", "command"._h("target", nil)
14
+ end
15
+
16
+ def test_string_class_manipulation_returns_empty_value_on_empty_value_keyword
17
+ assert_equal "<tr><td>command</td><td>target</td><td></td></tr>", "command"._h("target", "[empty]")
18
+ end
19
+
20
+ def test_string_class_manipulation_returns_empty_target_on_empty_target_keyword
21
+ assert_equal "<tr><td>command</td><td></td><td>value</td></tr>", "command"._h("[empty]", "value")
22
+ assert_equal "<tr><td>command</td><td></td><td></td></tr>", "command"._h("[empty]", "[empty]")
23
+ end
24
+
25
+ def test_selenium_actions_return_correct_html
26
+ assert_equal "<tr><td>open</td><td>http://rubyselenium.rubyforge.org</td><td>&nbsp;</td></tr>", @selenium.open("http://rubyselenium.rubyforge.org")[0].command
27
+ assert_equal "<tr><td>type</td><td>input_field</td><td>input_value</td></tr>", @selenium.type("input_field", "input_value")[1].command
28
+ assert_equal "<tr><td>typeAndWait</td><td>input_field</td><td>input_value</td></tr>", @selenium.typeAndWait("input_field", "input_value")[2].command
29
+ assert_equal "<tr><td>click</td><td>click_button</td><td>&nbsp;</td></tr>", @selenium.click("click_button")[3].command
30
+ assert_equal "<tr><td>clickAndWait</td><td>click_button</td><td>&nbsp;</td></tr>", @selenium.clickAndWait("click_button")[4].command
31
+ assert_equal "<tr><td>select</td><td>drop_down</td><td>option_1</td></tr>", @selenium.select("drop_down", "option_1")[5].command
32
+ assert_equal "<tr><td>selectAndWait</td><td>drop_down</td><td>option_1</td></tr>", @selenium.selectAndWait("drop_down", "option_1")[6].command
33
+ assert_equal "<tr><td>selectWindow</td><td>window</td><td>&nbsp;</td></tr>", @selenium.selectWindow("window")[7].command
34
+ assert_equal "<tr><td>pause</td><td>5000</td><td>&nbsp;</td></tr>", @selenium.pause("5000")[8].command
35
+ assert_equal "<tr><td>waitForValue</td><td>finish_indication</td><td>is_finished</td></tr>", @selenium.waitForValue("finish_indication", "is_finished")[9].command
36
+ assert_equal "<tr><td>goBack</td><td></td><td></td></tr>", @selenium.goBack[10].command
37
+ assert_equal "<tr><td>close</td><td></td><td></td></tr>", @selenium.close[11].command
38
+ assert_equal "<tr><td>store</td><td>Kingsley</td><td>first_name</td></tr>", @selenium.store("Kingsley", "first_name")[12].command
39
+ assert_equal "<tr><td>storeValue</td><td>user_name</td><td>user_id</td></tr>", @selenium.storeValue("user_name", "user_id")[13].command
40
+ assert_equal "<tr><td>storeText</td><td>current_date</td><td>expected_start_date</td></tr>", @selenium.storeText("current_date", "expected_start_date")[14].command
41
+ end
42
+
43
+ def test_selenium_checks_return_correct_html
44
+ assert_equal "<tr><td>verifyLocation</td><td>/mypage</td><td>&nbsp;</td></tr>", @selenium.verifyLocation("/mypage")[0].command
45
+ assert_equal "<tr><td>assertLocation</td><td>/mypage</td><td>&nbsp;</td></tr>", @selenium.assertLocation("/mypage")[1].command
46
+ assert_equal "<tr><td>verifyTitle</td><td>/mypage</td><td>&nbsp;</td></tr>", @selenium.verifyTitle("/mypage")[2].command
47
+ assert_equal "<tr><td>assertTitle</td><td>/mypage</td><td>&nbsp;</td></tr>", @selenium.assertTitle("/mypage")[3].command
48
+ assert_equal "<tr><td>verifyValue</td><td>drop_down</td><td>option_1</td></tr>", @selenium.verifyValue("drop_down", "option_1")[4].command
49
+ assert_equal "<tr><td>assertValue</td><td>drop_down</td><td>option_1</td></tr>", @selenium.assertValue("drop_down", "option_1")[5].command
50
+ assert_equal "<tr><td>verifySelected</td><td>selected_item</td><td>selected_value</td></tr>", @selenium.verifySelected("selected_item", "selected_value")[6].command
51
+ assert_equal "<tr><td>assertSelected</td><td>selected_item</td><td>selected_value</td></tr>", @selenium.assertSelected("selected_item", "selected_value")[7].command
52
+ assert_equal "<tr><td>verifySelectOptions</td><td>drop_down</td><td>John Smith,Dave Bird</td></tr>", @selenium.verifySelectOptions("drop_down", "John Smith,Dave Bird")[8].command
53
+ assert_equal "<tr><td>assertSelectOptions</td><td>drop_down</td><td>John Smith,Dave Bird</td></tr>", @selenium.assertSelectOptions("drop_down", "John Smith,Dave Bird")[9].command
54
+ assert_equal "<tr><td>verifyText</td><td>status_message</td><td>Successful</td></tr>", @selenium.verifyText("status_message", "Successful")[10].command
55
+ assert_equal "<tr><td>assertText</td><td>status_message</td><td>Successful</td></tr>", @selenium.assertText("status_message", "Successful")[11].command
56
+ assert_equal "<tr><td>verifyAttribute</td><td>txt1@class</td><td>big_and_bold</td></tr>", @selenium.verifyAttribute("txt1@class", "big_and_bold")[12].command
57
+ assert_equal "<tr><td>assertAttribute</td><td>txt1@class</td><td>big_and_bold</td></tr>", @selenium.assertAttribute("txt1@class", "big_and_bold")[13].command
58
+ assert_equal "<tr><td>verifyTextPresent</td><td>You are now logged in.</td><td>&nbsp;</td></tr>", @selenium.verifyTextPresent("You are now logged in.")[14].command
59
+ assert_equal "<tr><td>assertTextPresent</td><td>You are now logged in.</td><td>&nbsp;</td></tr>", @selenium.assertTextPresent("You are now logged in.")[15].command
60
+ assert_equal "<tr><td>verifyTextNotPresent</td><td>You are now logged in.</td><td>&nbsp;</td></tr>", @selenium.verifyTextNotPresent("You are now logged in.")[16].command
61
+ assert_equal "<tr><td>assertTextNotPresent</td><td>You are now logged in.</td><td>&nbsp;</td></tr>", @selenium.assertTextNotPresent("You are now logged in.")[17].command
62
+ assert_equal "<tr><td>verifyElementPresent</td><td>submit_button</td><td>&nbsp;</td></tr>", @selenium.verifyElementPresent("submit_button")[18].command
63
+ assert_equal "<tr><td>assertElementPresent</td><td>submit_button</td><td>&nbsp;</td></tr>", @selenium.assertElementPresent("submit_button")[19].command
64
+ assert_equal "<tr><td>verifyElementNotPresent</td><td>cancel_button</td><td>&nbsp;</td></tr>", @selenium.verifyElementNotPresent("cancel_button")[20].command
65
+ assert_equal "<tr><td>assertElementNotPresent</td><td>cancel_button</td><td>&nbsp;</td></tr>", @selenium.assertElementNotPresent("cancel_button")[21].command
66
+ assert_equal "<tr><td>verifyTable</td><td>myTable.1.6</td><td>Submitted</td></tr>", @selenium.verifyTable("myTable.1.6", "Submitted")[22].command
67
+ assert_equal "<tr><td>assertTable</td><td>myTable.1.6</td><td>Submitted</td></tr>", @selenium.assertTable("myTable.1.6", "Submitted")[23].command
68
+ assert_equal "<tr><td>verifyVisible</td><td>postcode</td><td>&nbsp;</td></tr>", @selenium.verifyVisible("postcode")[24].command
69
+ assert_equal "<tr><td>assertVisible</td><td>postcode</td><td>&nbsp;</td></tr>", @selenium.assertVisible("postcode")[25].command
70
+ assert_equal "<tr><td>verifyNotVisible</td><td>postcode</td><td>&nbsp;</td></tr>", @selenium.verifyNotVisible("postcode")[26].command
71
+ assert_equal "<tr><td>assertNotVisible</td><td>postcode</td><td>&nbsp;</td></tr>", @selenium.assertNotVisible("postcode")[27].command
72
+ assert_equal "<tr><td>verifyEditable</td><td>shape</td><td>&nbsp;</td></tr>", @selenium.verifyEditable("shape")[28].command
73
+ assert_equal "<tr><td>assertEditable</td><td>shape</td><td>&nbsp;</td></tr>", @selenium.assertEditable("shape")[29].command
74
+ assert_equal "<tr><td>verifyNotEditable</td><td>shape</td><td>&nbsp;</td></tr>", @selenium.verifyNotEditable("shape")[30].command
75
+ assert_equal "<tr><td>assertNotEditable</td><td>shape</td><td>&nbsp;</td></tr>", @selenium.assertNotEditable("shape")[31].command
76
+ assert_equal "<tr><td>verifyAlert</td><td>Invalid Phone Number</td><td>&nbsp;</td></tr>", @selenium.verifyAlert("Invalid Phone Number")[32].command
77
+ assert_equal "<tr><td>assertAlert</td><td>Invalid Phone Number</td><td>&nbsp;</td></tr>", @selenium.assertAlert("Invalid Phone Number")[33].command
78
+ assert_equal "<tr><td>verifyConfirmation</td><td>Invalid Phone Number</td><td>&nbsp;</td></tr>", @selenium.verifyConfirmation("Invalid Phone Number")[34].command
79
+ assert_equal "<tr><td>assertConfirmation</td><td>Invalid Phone Number</td><td>&nbsp;</td></tr>", @selenium.assertConfirmation("Invalid Phone Number")[35].command
80
+ assert_equal "<tr><td>chooseCancelOnNextConfirmation</td><td></td><td></td></tr>", @selenium.chooseCancelOnNextConfirmation[36].command
81
+ end
82
+
83
+ def test_ruby_selenium_script_returns_script
84
+ selenium = RubySelenium.new("001_initialize_test_file")
85
+ selenium.open("http://rubyselenium.rubyforge.org")
86
+ selenium.verifyTitle("rubySelenium")
87
+ assert_equal "001_initialize_test_file", selenium.ruby_selenium_script.name
88
+ assert_equal "<tr><td>open</td><td>http://rubyselenium.rubyforge.org</td><td>&nbsp;</td></tr>", selenium.ruby_selenium_script.commands[0].command
89
+ assert_equal "<tr><td>verifyTitle</td><td>rubySelenium</td><td>&nbsp;</td></tr>", selenium.ruby_selenium_script.commands[1].command
90
+ end
91
+
92
+ def test_selenium_locators_return_correct_values
93
+ assert_equal "<tr><td>type</td><td>id=input_field_id</td><td>input_value</td></tr>", @selenium.type("id=input_field_id", "input_value")[0].command
94
+ assert_equal "<tr><td>type</td><td>name=input_field_name</td><td>input_value</td></tr>", @selenium.type("name=input_field_name", "input_value")[1].command
95
+ assert_equal "<tr><td>type</td><td>dom=document.forms['myForm'].myDropdown</td><td>input_value</td></tr>", @selenium.type("dom=document.forms['myForm'].myDropdown", "input_value")[2].command
96
+ assert_equal "<tr><td>type</td><td>xpath=//img[@alt='The image alt text']</td><td>input_value</td></tr>", @selenium.type("xpath=//img[@alt='The image alt text']", "input_value")[3].command
97
+ assert_equal "<tr><td>type</td><td>link=link_text</td><td>input_value</td></tr>", @selenium.type("link=link_text", "input_value")[4].command
98
+ end
99
+
100
+ def test_selenium_select_identifiers_return_correct_values
101
+ assert_equal "<tr><td>select</td><td>drop_down</td><td>label=label_1</td></tr>", @selenium.select("drop_down", "label=label_1")[0].command
102
+ assert_equal "<tr><td>select</td><td>drop_down</td><td>value=value_1</td></tr>", @selenium.select("drop_down", "value=value_1")[1].command
103
+ assert_equal "<tr><td>select</td><td>drop_down</td><td>id=id_1</td></tr>", @selenium.select("drop_down", "id=id_1")[2].command
104
+ assert_equal "<tr><td>select</td><td>drop_down</td><td>index=0</td></tr>", @selenium.select("drop_down", "index=0")[3].command
105
+ end
106
+
107
+
108
+ end