Commit Graph

449 Commits

Author SHA1 Message Date
Bryan Helmkamp
0fb3ed6b11 Add docs for Webrat::Selenium 2008-12-02 20:02:08 -05:00
Bryan Helmkamp
5cf23cbda3 Detect if the document is XML or HTML using the Content-Type when in Rails mode 2008-12-02 01:03:38 -05:00
Bryan Helmkamp
a205b6fa44 Converting some CSS selectors to XPath 2008-12-02 00:16:15 -05:00
Bryan Helmkamp
e88772021b More Webrat implicit waiting. Only load Webrat selectors once per run, not per test 2008-12-01 22:04:24 -05:00
Bryan Helmkamp
d8e205cad0 Adding wait_for_element before Webrat actions 2008-12-01 21:15:23 -05:00
Bryan Helmkamp
26a08e69ae Correcting include of Webrat::Methods in Selenium mode 2008-12-01 20:57:57 -05:00
Bryan Helmkamp
53efcc6185 Removing Prototype-specific waits 2008-12-01 20:37:18 -05:00
Bryan Helmkamp
33cfb1cd6a Removing definition of webrat_session method out of the loop 2008-12-01 20:33:01 -05:00
Bryan Helmkamp
2a4959e7f6 Expose #selenium method for direct access to selenium object 2008-12-01 20:28:48 -05:00
Bryan Helmkamp
0de031c93a Check nokogiri gem version before requiring nokogiri
Gives better error messages is using an old nokogiri version
2008-12-01 10:28:02 -05:00
Bryan Helmkamp
d576a72120 Expose select_option through Webrat::Methods. Minor refactorings 2008-11-30 20:35:08 -05:00
Bryan Helmkamp
f5ed57e042 Docs 2008-11-30 20:09:41 -05:00
Bryan Helmkamp
260ef1ae4e Use FieldNamedLocator in form 2008-11-30 15:51:44 -05:00
Bryan Helmkamp
522bb3272f Initialize locators with a session and a dom instead of a scope 2008-11-30 15:47:31 -05:00
Bryan Helmkamp
9ace546766 Removing more dead methods 2008-11-30 15:39:03 -05:00
Bryan Helmkamp
c05c0f6c73 Adding FormLocator. Removing some dead methods 2008-11-30 15:24:50 -05:00
Bryan Helmkamp
0eee6d75e4 Updating SelectOptionLocator to use elements 2008-11-30 15:15:50 -05:00
Bryan Helmkamp
ac4feb3b7e Working on SelectOptionLocator 2008-11-30 15:09:54 -05:00
Bryan Helmkamp
e72bba29c7 Switching FieldLabeledLocator to use elements 2008-11-30 14:59:33 -05:00
Bryan Helmkamp
28bd5f2533 Load field labels instead of creating new ones 2008-11-30 14:52:52 -05:00
Bryan Helmkamp
de2ba2caf8 Ditching preloading of Webrat::Elements 2008-11-30 14:48:32 -05:00
Bryan Helmkamp
d48a0fcb15 Refactoring node location 2008-11-30 14:46:52 -05:00
Bryan Helmkamp
53539eda09 Moving around XML code 2008-11-30 01:38:55 -05:00
Bryan Helmkamp
f3ff8d4ad2 Refactoring SelectOption creation 2008-11-30 01:29:58 -05:00
Bryan Helmkamp
1e7e977ec4 Moving #path method up to Webrat::Element 2008-11-30 01:27:24 -05:00
Bryan Helmkamp
830b459482 SelectOption is a Webrat::Element too 2008-11-30 01:26:07 -05:00
Bryan Helmkamp
c84e5335b5 Moving element files to webrat/core/elements 2008-11-30 01:20:31 -05:00
Bryan Helmkamp
3fd91e34be Extracting Webrat::Element superclass and refactoring element creation 2008-11-30 01:18:36 -05:00
Bryan Helmkamp
4594a39327 Load fields and labels directly from the scope 2008-11-30 00:47:49 -05:00
Bryan Helmkamp
40e0272dff Initialize Labels with a session refrence 2008-11-30 00:38:05 -05:00
Bryan Helmkamp
9e743ea3e2 Stop initializing Fields with references to the Form. They can find it by walking the DOM 2008-11-30 00:35:32 -05:00
Bryan Helmkamp
53979cbb52 Working on FieldLabeled locator 2008-11-30 00:12:46 -05:00
Bryan Helmkamp
27626ea389 Refactoring label locating to use elements 2008-11-29 23:59:26 -05:00
Bryan Helmkamp
67dd6d7c58 Moving requires 2008-11-29 23:22:22 -05:00
Bryan Helmkamp
87a4ff91ca Adding Locator#locate! method for error raising 2008-11-29 23:20:36 -05:00
Bryan Helmkamp
53ba0cc691 Extract FieldLocator 2008-11-29 23:11:16 -05:00
Bryan Helmkamp
f843ac2ae3 Moving locator methods 2008-11-29 23:08:23 -05:00
Bryan Helmkamp
1647d6ec1e Locator refactoring 2008-11-29 23:03:17 -05:00
Bryan Helmkamp
4ae94af45c Extract LabelLocator 2008-11-29 13:20:18 -05:00
Bryan Helmkamp
f6a9bed41e Extract FieldLabeledLocator 2008-11-29 13:02:05 -05:00
Bryan Helmkamp
1723157528 Extracting SelectOptionLocator 2008-11-29 12:55:57 -05:00
Bryan Helmkamp
a472bbfbde Namespace locators in Webrat::Locators 2008-11-29 02:00:57 -05:00
Bryan Helmkamp
d7eec20950 Extract FieldNamedLocator object 2008-11-29 01:58:27 -05:00
Bryan Helmkamp
eb95f6cf09 Refactoring locators 2008-11-29 01:54:49 -05:00
Bryan Helmkamp
04959ae457 Extract FieldByIdLocator object 2008-11-29 01:51:18 -05:00
Bryan Helmkamp
9e030a1b05 Extracting AreaLocator object 2008-11-29 01:48:16 -05:00
Bryan Helmkamp
2e69cb1911 Removing comments 2008-11-29 01:45:03 -05:00
Bryan Helmkamp
5b8a15bae7 Using elements to locate links 2008-11-29 01:44:20 -05:00
Bryan Helmkamp
9254397807 Extracting LinkLocator object 2008-11-29 01:33:55 -05:00
Bryan Helmkamp
0b6d9c28ea Extracting ButtonLocator object 2008-11-29 01:30:23 -05:00
Bryan Helmkamp
e5fb990cda Minor cleanups to locators 2008-11-29 01:19:59 -05:00
Bryan Helmkamp
4a63c9bfd1 Switching field_named locator to use elements 2008-11-29 01:14:49 -05:00
Bryan Helmkamp
4736c4cb1a Adding Field.xpath_search method with the XPath to all Webrat fields 2008-11-29 01:12:07 -05:00
Bryan Helmkamp
e0488cd8e4 Looking up Fields using Session#elements hash 2008-11-29 01:08:58 -05:00
Bryan Helmkamp
8e864f7e0d Extract Session#reset method 2008-11-29 01:05:19 -05:00
Bryan Helmkamp
154c83eced Store references to Areas in a Session#elements hash 2008-11-29 01:00:18 -05:00
Bryan Helmkamp
857625840f Adding Webrat::XML.xpath_to method 2008-11-29 00:49:00 -05:00
Bryan Helmkamp
6316faae44 Changing Field creation to use XPath 2008-11-29 00:43:24 -05:00
Bryan Helmkamp
f032a8de73 Refactoring CSS searching for building Links, Areas and Forms 2008-11-29 00:11:40 -05:00
Bryan Helmkamp
f2758c5d81 Search for areas using the DOM 2008-11-28 19:52:34 -05:00
Bryan Helmkamp
0b1dfbe0a2 Search for buttons using DOM 2008-11-28 18:30:38 -05:00
Bryan Helmkamp
ca0642e35c Updating field_with_id to search DOM elements 2008-11-28 18:14:42 -05:00
Bryan Helmkamp
ff2dd5de61 Adding require and switching to class_eval 2008-11-28 14:41:17 -05:00
Bryan Helmkamp
87211f260d Use REXML and Hpricot together when Nokogiri is not available
This gets us the ability to use XPath consistently, as well as Hpricot's
forgiving parser, when using JRuby
2008-11-28 02:02:17 -05:00
Bryan Helmkamp
334108015f Abstracting access to inner_html and inner_text to Webrat::XML methods 2008-11-28 00:12:21 -05:00
Bryan Helmkamp
9a344fdc2b Converting usages of element attributes to use a Webrat::XML method 2008-11-27 00:57:10 -05:00
Bryan Helmkamp
7ef8fdf7ba Processing CSS searches as XPath 2008-11-27 00:40:18 -05:00
Bryan Helmkamp
56dc8147f2 Unifying on more usage of css_search method 2008-11-27 00:36:07 -05:00
Bryan Helmkamp
e7ddb4bdd1 Extracting hpricot_document method 2008-11-27 00:33:11 -05:00
Bryan Helmkamp
b1ef30c71d Removing empty file 2008-11-27 00:29:47 -05:00
Bryan Helmkamp
8a4a7a328f Revert "Changing field_named and field_with_id to use XPath"
This reverts commit 4a6c6fb2fc.

Conflicts:

	lib/webrat/core/form.rb
2008-11-26 21:37:56 -05:00
Bryan Helmkamp
8770ccb563 Fixing another bug in detecting fields via XPath 2008-11-26 20:47:50 -05:00
Bryan Helmkamp
4f530cfa29 Extending ActionController::IntegrationTest instead of ActionController::Integration::Session fixes error with Webrat's select method 2008-11-26 14:26:10 -05:00
Bryan Helmkamp
01fcd0dea1 Making Webrat's usage of the #path Nokogiri method work with Hpricot too 2008-11-26 14:25:42 -05:00
Bryan Helmkamp
e822535b6e More minor RDoc tweaks 2008-11-25 01:34:34 -05:00
Bryan Helmkamp
491ceb7e5b Deprecating old style Selenium methods 2008-11-25 00:03:16 -05:00
Bryan Helmkamp
9b1503508b Deprecating old style methods 2008-11-24 23:55:39 -05:00
Bryan Helmkamp
4a6c6fb2fc Changing field_named and field_with_id to use XPath 2008-11-24 21:59:56 -05:00
Bryan Helmkamp
5fd88ba4de Bumping revision for pre-release gem 2008-11-24 20:29:58 -05:00
Bryan Helmkamp
3b8fc5551f RDoc tweaks 2008-11-24 20:03:32 -05:00
Bryan Helmkamp
5502948417 Starting on field_with_xpath implementation 2008-11-24 14:15:28 -05:00
Bryan Helmkamp
da68aa8bce Cleaning up Selenium support. Mongrel and Selenium servers start/shutdown automatically 2008-11-23 19:46:37 -05:00
Bryan Helmkamp
e6cb40b66e Adding methods to start and stop the selenium server java process 2008-11-23 15:44:49 -05:00
Bryan Helmkamp
f6ce5bbfb1 Using configuration in Webrat instead of defined? checks 2008-11-23 14:59:07 -05:00
Bryan Helmkamp
1017fdfba7 parse_with_nokogiri default to true on MRI and false on JRuby 2008-11-23 14:49:05 -05:00
Bryan Helmkamp
302f0dc1c6 Add a configuration option for parse_with_nokogiri 2008-11-23 14:44:13 -05:00
Bryan Helmkamp
0d205e382b Don't need a default mode 2008-11-23 14:40:19 -05:00
Bryan Helmkamp
1fb3fd07d4 Using Webrat mode to determine which logger to use 2008-11-23 14:13:34 -05:00
Bryan Helmkamp
59560a043b Removing Webrat.root method 2008-11-23 14:13:29 -05:00
Bryan Helmkamp
48e43a257c Always raise Webrat::WebratErrors (or a subclass), not RuntimeErrors 2008-11-23 14:08:34 -05:00
Bryan Helmkamp
db0488c0e2 Updating usages of "selects" methods to "select" 2008-11-23 14:05:04 -05:00
Bryan Helmkamp
f03905e6b6 Use Webrat::Methods in specs 2008-11-23 00:48:42 -05:00
Bryan Helmkamp
adf68c2f8f Change Webrat Rails integration to use the Webrat::Methods module 2008-11-22 23:49:12 -05:00
Bryan Helmkamp
a8e02a6b6e Switch to using Nokogiri.parse for XML/XHTML autodetection [#66 state:resolved] 2008-11-22 16:46:03 -05:00
Luke Melia
9b5ffacecc Switch to using selenium-client gem and vendor selenium-server.jar (not used directly from webrat yet) 2008-11-20 16:07:18 -05:00
Bryan Helmkamp
f1b4486594 Moving requiring of Nokogiri/Hpricot/REXML to a method 2008-11-19 15:52:56 -05:00
Bryan Helmkamp
ec8bc82c24 Adding response method to MechanizeSession 2008-11-18 22:56:35 -05:00
Bryan Helmkamp
22d5b91dd4 Add spec:jruby task for running spec suite with jruby 2008-11-18 21:09:48 -05:00
Bryan Helmkamp
10d5d7695f Raise Webrat::NotFoundErrors instead of RuntimeErrors to make error catching easier 2008-11-18 20:55:55 -05:00
Bryan Helmkamp
df9d8179c0 Field#to_param should return a hash when Merb is not defined for Mechanize support [#62 state:resolved] 2008-11-18 20:48:12 -05:00
moro
dc52f07a9f Link#matches_text?() use @element.text as text
It decodes character references.
Userful for multibyte languages(eg. Japanese).

And also uses @element.inner_html to match with HTML (eg.image link)
2008-11-18 20:37:35 -05:00
Bryan Helmkamp
5ee4357cd6 Add set_hidden_field and submit_form methods ND/BH 2008-11-17 14:21:16 -05:00
Bryan Helmkamp
3abaa924cc Changing requiring of nokogiri to work on jruby 2008-11-17 00:05:57 -05:00
Bryan Helmkamp
1bdead1655 Bug fix for hash merging Mashes 2008-11-16 23:21:29 -05:00
Drew Colthorp
83f3ab468d fixed bug where webrat would lose complex parameters (like foo[bar[baz]][]) in merb due to not correctly merging Mashes. 2008-11-16 23:15:50 -05:00
Bryan Helmkamp
5249826cb7 Working on running specs in separate processes 2008-11-16 23:04:34 -05:00
Bryan Helmkamp
3d467f3c11 Revert "adding html unit spike" which was inadvertantly merged in
This reverts commit 0800f79428.
2008-11-16 21:35:11 -05:00
Bryan Helmkamp
50762b6f5a Cleaning up some requires to get rid of double-includes during spec runs 2008-11-16 21:25:29 -05:00
Bryan Helmkamp
f2f8bae190 Removing :suffixes and :suffix_convention options from selects_date and selects_time methods 2008-11-16 19:29:13 -05:00
Bryan Helmkamp
31cc6b75da Collapsing Webrat::Core module. Moving configuration methods to configuration.rb 2008-11-16 18:58:24 -05:00
Bryan Helmkamp
9f8a88d649 Merge commit 'gaffo/webrat_config' 2008-11-16 18:51:42 -05:00
Ben Mabey
4dd1c4b62d helpful error message for missing option values, closes #40 2008-11-15 14:57:57 -07:00
Ben Mabey
6cd76fa08e selects_time, selects_date, and selects_datetime added to API. Closes #36. 2008-11-15 14:06:04 -07:00
Ben Mabey
0dffbec8f4 Merge branch 'brynary/master' 2008-11-15 10:47:58 -07:00
gaffo
1a69a9a34b moved config down to root, kept config object 2008-11-14 18:50:45 -06:00
gaffo
19353b507b Revert "[#33 state:resolved] refactored to move the config down to Webrat::Core as it seemed nicer"
This reverts commit 58cbf49119.
2008-11-14 18:32:05 -06:00
Bryan Helmkamp
3e70fd24eb Make #value on Field readable 2008-11-14 11:41:56 -05:00
Ryan Briones
2603ad405b allow mechanize session to pass through basic auth 2008-11-14 11:23:50 -05:00
gaffo
58cbf49119 [#33 state:resolved] refactored to move the config down to Webrat::Core as it seemed nicer 2008-11-14 00:11:29 -06:00
Luke Melia
82b1553719 Added RadioField#checked? to indicated whether or not a radio button is checked. 2008-11-14 01:09:18 -05:00
gaffo
3fbf5ae930 merged in current webrat master 2008-11-14 00:01:27 -06:00
gaffo
7460c85655 [#33 state:resolved] added a configuration object that is configurable by a block 2008-11-13 23:58:52 -06:00
Bryan Helmkamp
f29cb53239 Merge commit 'gaffo/master'
Conflicts:
	.gitignore
	History.txt
	lib/webrat/core/scope.rb
	spec/webrat/rails/rails_session_spec.rb
2008-11-14 00:04:53 -05:00
Bryan Helmkamp
1cdf95851b Merge commit 'gaffo/multi_os_for_open_in_browser' 2008-11-13 23:53:36 -05:00
gaffo
e1444d58ef added support for windows and cygwin 2008-11-13 22:33:33 -06:00
Bryan Helmkamp
74dce87c3e Merge commit 'lawrencepit/banana'
Conflicts:
	spec/api/click_link_spec.rb
2008-11-13 22:43:17 -05:00
Bryan Helmkamp
e8c9f04a19 Merge commit 'jrun/master'
Conflicts:
	.gitignore
2008-11-13 22:40:05 -05:00
Nando
92b4814392 Added key_down and key_up wrapper in Selenium session 2008-11-13 22:31:59 -05:00
Nando
db81a97e42 Added fire_event wrapper in Selenium sessions 2008-11-13 22:29:17 -05:00
Bryan Helmkamp
902316c559 Merge commit 'cclow/master' 2008-11-13 21:23:04 -05:00
Low Chin Chau
9b3702a7d2 fixed webrat/core/methods to recognise for click link within 2008-11-13 21:19:59 -05:00
Bryan Helmkamp
0081ea2391 Merge commit 'dchelimsky/master' 2008-11-13 21:14:04 -05:00
Bryan Helmkamp
0a2fc91cbb Merge commit 'mfilej/master' 2008-11-13 21:11:50 -05:00
Ben Mabey
b8a87e3143 Merge branch 'brynary/master' 2008-11-13 15:05:56 -07:00
Miha Filej
0f7a277c57 Make Webrat::Label#text strip out newlines 2008-11-13 15:00:24 +01:00
David Chelimsky
032a016564 add simple support for accessing have_tag, have_selector and have_xpath matchers from rspec proper 2008-11-12 12:38:12 -06:00
Low Chin Chau
e51238e471 fixed webrat/core/methods to recognise for click link within 2008-11-12 14:50:50 +08:00
Low Chin Chau
57d2bd2b90 fixed webrat/core/methods to recognise singular verbs 2008-11-12 14:48:18 +08:00
Jeremy Burks
a570d40f70 core expects a response so mechanize got one 2008-11-11 20:08:17 -06:00
Jeremy Burks
92fde1d8de Merge branch 'master' of git://github.com/brynary/webrat into brynary/master
Conflicts:
	Manifest.txt
	lib/webrat/mechanize/mechanize_session.rb
2008-11-11 19:47:49 -06:00
Bryan Helmkamp
b4bdeb5319 Fall back on Hpricot when Nokogiri isn't available (eg. JRuby) 2008-11-11 00:28:38 -05:00
Bryan Helmkamp
82c6be380e Raise Webrat::PageLoadError when a failure occurs so that application exceptions can be more accurately tested (Ryan Briones) 2008-11-10 14:15:40 -05:00
Bryan Helmkamp
59704da270 Extracting some rexml code into a module 2008-11-09 20:49:55 -05:00
Bryan Helmkamp
859a15b8d8 Prep for the 0.3.2 release 2008-11-08 21:38:56 -05:00
Bryan Helmkamp
0aad32d38a Restore support for nested have_xpath, etc. with blocks 2008-11-08 21:34:46 -05:00
Jeremy Burks
7dfd59c29c the mechanize session must specially handle params
{:user => {:name => "Nancy"}}
now becomes
{"user[name]" => "Nancy"}
2008-11-08 08:46:14 -06:00
Bryan Helmkamp
055bd568f5 Use @_webrat_session instance variable instead of @session for Merb integration to avoid collisions 2008-11-07 17:04:01 -05:00
Bryan Helmkamp
2d867451ca Cleaning up rdoc to only show public APIs 2008-11-07 12:13:41 -05:00
Bryan Helmkamp
ebcef2d073 Bumping version 2008-11-07 11:40:05 -05:00
Bryan Helmkamp
5766ccf60f Refactor merb redirect following 2008-11-07 11:35:53 -05:00