Commit Graph

630 Commits

Author SHA1 Message Date
Bryan Helmkamp
c689166c48 Fix "element.getAttribute is not a function" Selenium errors when filling in fields
The root cause was the locator strategy was naively returning an element that was not a form field, causing Selenium's internals to blow up
2009-09-17 21:32:56 -04:00
Bryan Helmkamp
3a9e7d3999 Fix bugs when dealing with special characters in labels 2009-09-17 21:18:52 -04:00
Bryan Helmkamp
63e1053afa Fix bug in Selenium when dealing with special characters in link text 2009-09-17 20:28:19 -04:00
Bryan Helmkamp
aae82b5111 Whitespace 2009-09-17 20:15:40 -04:00
Bryan Helmkamp
b0ef59f5ec Properly handle multiline param values (previously, subsequent lines were lost) 2009-09-07 14:07:05 -04:00
Bryan Helmkamp
ad06a777fb Re-introduce VERSION constant, but don't make it dependent on the VERSION file 2009-09-07 13:25:33 -04:00
Bryan Helmkamp
ecaed5ff93 Merge commit 'm3talsmith/master' into gh_18 2009-09-07 13:16:53 -04:00
Bryan Helmkamp
2490c247d2 More clarification of select option locating behavior.
TODO: Ensure the other locators are all matching on text, not HTML
2009-09-07 12:53:06 -04:00
Bryan Helmkamp
00c49a0521 Simplify select option matching code. Minor behavior change:
Valid: select "Peanut Butter & Jelly"
  Invalid: select "Peanut Butter & Jelly"
2009-09-07 12:44:54 -04:00
Kieran Pilkington
a8d0cebde3 Various improvements, refinements, and bugfixes for select field usage.
Multiple select boxes are now handled a lot better.
* You can now select more than one field (where as previously, the last one select would override previous selections)
* You can now unselect a value. It works like select, takes the same params, but removes the selection value

Issues regarding ampersands in values have been resolved.
* Values are now unescaped when the to_param method is run on elements, to make assertions less complicated
* Locating an option with ampersand values now works as expected (it will check for both escaped and unescaped occurrences)

Bunch of new specs and 3 broken pending ones have now been fixed. [#145 status:resolved]
2009-08-31 18:34:04 +12:00
Bryan Helmkamp
b9466df773 Merge commit 'djanowski/fix_logger' 2009-08-29 15:57:58 -04:00
Michael Christenson II
3255c9edf0 Forces an integer to fix Issue #18 2009-08-27 11:54:03 -04:00
Bryan Helmkamp
e18ef197b5 Move selenium integration code to webrat/integrations/selenium so it's automatically required 2009-08-20 00:09:03 -04:00
Bryan Helmkamp
723f4356b9 Move rspec-rails integration code to webrat/integrations/rspec-rails 2009-08-19 23:42:58 -04:00
Bryan Helmkamp
2fc9f3f7f9 Move adapters to webrat/adapters, and Rails and Merb integration code into webrat/integrations 2009-08-19 23:42:54 -04:00
Bryan Helmkamp
610f0fc217 Webrat doesn't need to worry about StringIOs
...or, we're missing a test and this is going to help us find it
2009-08-19 23:14:13 -04:00
Bryan Helmkamp
11f30d1d2e Dropping support for Hpricot and REXML 2009-08-19 23:14:13 -04:00
Simon Rozet
997ff97405 MerbSession now use RackSession under the hood 2009-08-19 23:14:08 -04:00
Damian Janowski
4a949e0e5a Fix logger issue when running inside Cucumber. 2009-08-14 13:05:20 -03:00
Bryan Helmkamp
66251b66ae Cleanup session initializaton in Webrat::Methods 2009-08-12 22:05:04 -04:00
Bryan Helmkamp
ec43bb9546 Selenium is a session type, not an adapter type 2009-08-12 21:44:02 -04:00
Bryan Helmkamp
17713c9036 MechanizeAdapter doesn't need to inherit from Session 2009-08-12 21:39:32 -04:00
Bryan Helmkamp
e4ea9134a7 Rename MechanizeSession to MechanizeAdapter 2009-08-12 20:54:29 -04:00
Bryan Helmkamp
89ec303db5 Rename RailsSession to RailsAdapter 2009-08-12 20:52:57 -04:00
Bryan Helmkamp
986682488e Rename MerbSession to MerbAdapter 2009-08-12 20:50:55 -04:00
Bryan Helmkamp
22a06000f9 Introduce session_class method 2009-08-12 20:44:32 -04:00
Bryan Helmkamp
a8c5af2b7a Rename session_class method to adapter_class 2009-08-12 20:43:44 -04:00
Bryan Helmkamp
b0b88a0d82 Rename SinatraSession to SinatraAdapter 2009-08-12 20:40:44 -04:00
Bryan Helmkamp
561525dd81 Rename RackSession to RackAdapter 2009-08-12 20:39:35 -04:00
Bryan Helmkamp
3670b19f66 Remove duplicate branch for :sinatra mode 2009-08-12 20:25:25 -04:00
Bryan Helmkamp
74d470ff10 Merge commit 'sr/rack-upload' 2009-08-12 20:16:57 -04:00
Bryan Helmkamp
27a773e6b0 Merge commit 'sr/mime' into sr-mime
Conflicts:
	Rakefile
	lib/webrat.rb
2009-08-12 20:12:14 -04:00
Bryan Helmkamp
19ca271bbd Merge branch 'master' into rack 2009-08-10 20:18:24 -04:00
Bryan Helmkamp
987766b10d Don't require rubygems at runtime (Simon Rozet) 2009-08-10 20:14:48 -04:00
Bryan Helmkamp
796318d1ed Prep for 0.4.5 release 2009-08-10 20:01:06 -04:00
Brian Landau
dd98b33713 Make compatable with latest version of "selenium-client" gem, version 1.2.16 2009-07-06 13:50:00 -04:00
Bryan Helmkamp
11996a15dc Updating to leverage latest rack-test 2009-06-25 21:13:54 -04:00
Simon Rozet
0a2b77c9c4 Require rack in lib/webrat.rb 2009-06-26 01:42:51 +02:00
Simon Rozet
6cda9c79b4 Implement Webrat::MIME on top of Rack::Mime 2009-06-26 01:39:22 +02:00
Simon Rozet
3760867d0f Implement file uploading for :rack 2009-06-25 23:41:51 +02:00
Simon Rozet
f2882ef8b2 Deprecate :rack_test 2009-06-25 22:41:05 +02:00
Simon Rozet
a5a91b32e9 Deprecate the :sinatra mode
* I took the conservative approach here: the sinatra code could
  be removed but that'd cause a regression. (using Sinatra::Application
  when `app` is not defined)

* I left the sinatra tests for now; they should be removed
  once we're fully confident with rack session ones.
2009-06-25 00:38:39 +02:00
Simon Rozet
042268c6a6 Simplify Methods#webrat_adapter
It is unecessary to have a special case for the :rack mode.
2009-06-25 00:07:38 +02:00
Simon Rozet
f2b3b9891b Refactor Webrat::Session
* Webrat::Session.new now take a session adapter class as it's argument and
  delegates methods such as #response_body and #response_code to an instance
  of it.

* Some of these methods will go away in the future. However, *a lot*
  of specs depends on them so I've left them for now. The plan is to
  strip down the session adapter API to these three methods:

    * request
    * response_code
    * response_body

* I had to mark a spec as pending: spec/private/rails/rails_session_spec.rb
2009-06-25 00:07:30 +02:00
Damian Janowski
cbc447223c Fix form fields being double-escaped with :rack
Signed-off-by: Simon Rozet <simon@rozet.name>
2009-06-24 18:57:55 +02:00
Simon Rozet
8cda77318c Fix wrong HTTP_HOST in rack session
Webrat relies on www.example.com while Rack::Test expects example.org
2009-06-24 18:57:38 +02:00
Simon Rozet
92ec1c3d92 Require rack/test in rack session 2009-06-24 15:14:08 +02:00
Simon Rozet
0a3b979772 Rename :rack_test mode to :rack 2009-06-24 15:13:27 +02:00
Simon Rozet
3e7886ecab Get rid of RackSession
Looks like dead code
2009-06-24 15:13:16 +02:00
Bryan Helmkamp
5eeceff9e8 Removing some vestigial code from Merb session 2009-06-17 00:19:26 -04:00