Commit Graph

661 Commits

Author SHA1 Message Date
Mike Gaffney
6d74cd935e [#246 state:resolved] added external application server if you have your own started 2009-06-04 15:03:00 -05:00
Mike Gaffney
a6a4a7cfd9 moving app server lookup out into a factory 2009-06-04 14:44:06 -05:00
Mike Gaffney
f3a12adaa9 whitespace changes 2009-06-04 12:18:31 -05:00
Mike Gaffney
977f643dca catches spec failed exception again 2009-06-03 18:49:32 -05:00
Mike Gaffney
abac2023bc removed reference to Rspec from common code 2009-06-03 17:53:19 -05:00
mike.gaffney
b2c423c49c [#50 state:resolved] added deprecation warning 2009-06-03 10:01:27 -05:00
Thomas Jack
4daf037146 make label location strategy work with unescaped strings 2009-06-02 18:31:33 -05:00
Thomas Jack
57326e5846 Merge branch 'master' of git://github.com/brynary/webrat 2009-06-02 17:52:14 -05:00
mike.gaffney
f8f254d517 [#257 state:resolved] fixed issue with rails encodd fields in webrat 2009-06-02 17:35:29 -05:00
mike.gaffney
2704609224 added clicking link by title in selenium mode 2009-06-01 12:26:37 -05:00
mike.gaffney
b85aacae1c From larrytheliquid
Merge commit '4d05a2cf2b2de34dda0a3e805ab11b60540578df'
2009-06-01 11:59:21 -05:00
Matthias Marschall
6cd734aec9 made selenium integration tests run applying larrytheliquid's patch: 627913708c 2009-05-29 17:05:35 -05:00
Matthias Marschall
73dc59cc29 click_button in selenium works now same as in headless mode 2009-05-29 17:05:34 -05:00
Josh Lubaway
846a90e561 Passing TextField values as plaintext to Mechanize.
Mechanize takes input as plaintext and escapes field values on its own.
If the values are escaped before they are passed to Mechanize, the values will be escaped twice.

These doubly-escaped values will result in incorrect behavior on the server side.
2009-05-29 10:42:30 -07:00
Larry Diehl
4d05a2cf2b click_link matches anchor id's with Selenium 2009-05-28 23:23:09 -07:00
Larry Diehl
627913708c Made Selenium Rails integration tests at least runnable, although
there are failures.
2009-05-28 22:40:52 -07:00
mike.gaffney
f6b0a763a0 Merge branch 'lh_194_delegate_field_named' of git://github.com/pivotal/webrat into lh194
Conflicts:
	lib/webrat/core/methods.rb
2009-05-28 18:01:53 -05:00
Piers Cawley
58601c4653 Make Webrat::Core::Session#redirect? work in the face of rational maths.
Such as when someone uses `ruby-units' and suddenly 302/100 becomes 151/50.
2009-05-27 12:35:36 +01:00
Thomas Jack
956b43d72c Merge branch 'master' of git://github.com/brynary/webrat 2009-05-19 14:24:41 -05:00
mike.gaffney
fd431f2ce8 [#242 state:resolved]
allowed changing the default timeout for browser startup in selenium
2009-05-18 16:37:45 -05:00
Mike Gaffney
f342142a71 Merge commit 'snusnu/master' 2009-05-13 23:12:32 -05:00
Luke Amdor
7f13a70b4b Added current_url to SeleniumSession to have the same api for both sessions 2009-05-13 22:33:20 -05:00
Thomas Jack
db9c5bdc77 Merge branch 'master' of git://github.com/brynary/webrat 2009-05-13 14:34:16 -05:00
snusnu
77168fd29d only require silence_stream if active_support hasn't already defined it 2009-05-13 05:01:19 +02:00
snusnu
926bcc6c66 extracted silence_stream into its own file under webrat/selenium
I don't think silence_stream.rb should be stored under
core_extensions, because the way it's implemented, it simply is
no core extension. Also, a grep through webrat source shows that
silence_stream is only used inside the selenium support. This is
why I added webrat/selenium/silence_stream.rb and require it
*before* all other selenium related files in webrat/selenium.rb.
It's necessary to include it this early, because if mode is set
to :selenium, webrat/selenium.rb is required, which in turn
requires webrat/selenium/selenium_session.rb and silence_stream
must be available before selenium_session gets required because
selenium_session already wants to silence the stream.
2009-05-13 03:35:32 +02:00
snusnu
bfa250e7af Provide an implementation for silence_stream inside webrat.
I added the implementation to webrat/core/configuration.rb because
it seems to me that this always gets read first. I decided to put
it inside a util module Webrat::SilentStream and include this where
appropriate, instead of altering Kernel.
2009-05-12 18:32:30 +02:00
Bryan Helmkamp
b439d7f807 Revert "Canonicalize all URLs (Shalon Wood)"
This reverts commit 755cf6e508.
2009-05-11 16:48:28 -04:00
Thomas Jack
8bedf2235d Merge branch 'master' of git://github.com/brynary/webrat 2009-05-11 00:29:49 -05:00
Bryan Helmkamp
453cb4b3eb Stripping whitespace 2009-05-11 01:27:04 -04:00
Bryan Helmkamp
35cbfd9643 Use Nokogiri on JRuby -- ~2x faster than REXML on JRuby for me 2009-05-11 00:13:00 -04:00
Bryan Helmkamp
b5254109f1 Start on Rack::Test integration 2009-05-11 00:12:27 -04:00
Bryan Helmkamp
755cf6e508 Canonicalize all URLs (Shalon Wood) 2009-05-11 00:12:27 -04:00
Thomas Jack
9a3668be92 match descendents in have_selector/have_xpath blocks 2009-04-29 01:33:26 -05:00
David Chelimsky
ffb56aab90 config for rspec in one line 2009-04-27 11:54:46 -05:00
Mutwin Kraus
eddd979361 Fixed following of internal redirects when using a custom Host header
Webrat didn't properly follow internal redirects when using the Host
  header, this lets Webrat check the Host header before falling back
  to www.example.com as the current_host.
2009-04-24 23:49:11 -07:00
Ryan Carver
1a110fe908 Improve forward and backward compatibility for Merb uploads 2009-04-24 14:23:00 -07:00
Ryan Carver
09509025c3 Allow Merb to do file uploads 2009-04-24 13:56:28 -07:00
Zach Dennis
7c08390bb8 Updated regex for LabelLocator and FieldLabeledLocator to work with labels whose text ends in a non-word character like \? or # 2009-04-16 12:25:45 -05:00
Noah Davis
ff42db076f Select fields with duplicate selected options sent an incorrect value 2009-04-11 13:19:59 -04:00
Bryan Helmkamp
03914fd293 Whitespace 2009-04-07 20:30:12 -04:00
Bryan Helmkamp
6697ecd2d3 Prep for 0.4.4 release 2009-04-06 14:03:58 -04:00
Bryan Helmkamp
996484c890 Refactoring selenium RC and app server boot code 2009-04-06 14:02:09 -04:00
Bryan Helmkamp
644478f6f0 Merge commit 'MarkMenard/master' 2009-04-06 12:39:31 -04:00
Bryan Helmkamp
91ea8cfa54 Make selenium process management code more robust and informative 2009-04-06 12:33:24 -04:00
Bryan Helmkamp
304baeb754 Change default app environment from "selenium" to "test" 2009-04-06 12:33:24 -04:00
Bryan Helmkamp
aa9049953d Bump selenium-client dependency to 1.2.14 2009-03-29 16:35:27 -04:00
Balint Erdi
cd49c2d939 bugfix: selenium's wait_for_element method takes the number of seconds before timing out from an option hash
Signed-off-by: Balint Erdi <balint.erdi@gmail.com>
2009-03-29 15:57:14 -04:00
pivotal
0fe3998f64 field_named correctly delegated 2009-03-17 18:21:06 -04:00
Bryan Helmkamp
e2a672a767 Prep 0.4.3 release 2009-03-17 01:26:38 -04:00
Mark Menard
0c2261d869 Add support for Rails javascript post links. 2009-03-12 15:42:20 -04:00
Mark Menard
73f4c441c1 Merge commit 'upstream/master' 2009-03-12 15:41:37 -04:00
Bryan Helmkamp
d1a2c80ab8 Merge commit 'sr/sinatra' into sr_sinatra 2009-03-08 18:54:21 -04:00
Simon Rozet
90baf3311c Sinatra now provides sensible options for testing
In the lastest release, 0.9.1:

* Set sensible defaults on Default for test env [1]
  5a33a9586f

* Set :environment to :test in TestHarness
  9af37724e0

* Set :environment to :test when Sinatra::Test is included
  93b19a3492

[1] Only Sinatra::Default provides special options for testing. If you subclass
    Sinatra::Base, you'll have to set them yourself.

foo
2009-03-08 23:41:34 +01:00
Bryan Helmkamp
5dc24c613e Merge branch 'master' into sr_sinatra 2009-03-08 14:59:54 -04:00
Mark Menard
c647ae98bb Memoize WWW::Mechanize instance. 2009-03-05 17:45:56 -05:00
Luke Melia
72123c1cec When faced with a label with no for attribute, that contains a hidden field and another field, as can be the case in Rails 2.3's checkbox view, webrat now locates the non-hidden field. 2009-03-01 01:44:35 -05:00
Matthew Ford
740bb293e3 Fix for #161 When using Rails 2.3 it uses Rack::Utils to parse params 2009-02-28 23:08:07 -05:00
Simon Rozet
4e07f5b654 Fix following of absolute redirect URL in Sinatra
What's going on when the app redirects to an absolute URL?

* Sinatra relies on Rack::MockSession which sets SERVER_NAME to
  "example.org" [1] on request it makes. However, Webrat expects
  it to be "www.example.com"

* In MyClassyApp, the redirect URL is made out of Rack::Request#url [2]
  which uses  SERVER_NAME, which is set to "example.org" by Rack::MockSession.
  As a result, Webrat see it as an external redirect and don't follow it.

NOTE:

* SERVER_NAME is stricly equivalent to HTTP_HOST [3]
* This could have been fixed in Webrat::Session too. I'am not sure
  that it won't affect other frameworks so I left it intact.

      def request_page(url, http_method, data) #:nodoc:
         h = headers
         h['HTTP_REFERER'] = @current_url if @current_url
  +      h['HTTP_HOST']    = 'www.example.com'

[1] 5c00dd698e/lib/rack/mock.rb (L79)
[2] 5c00dd698e/lib/rack/request.rb (L201)
[3] 5c00dd698e/lib/rack/request.rb (L72)
2009-02-28 03:30:26 +01:00
Simon Rozet
7d7c32256d Support for "modular" Sinatra app style
Since Sinatra 0.9, apps can be ancapsulated in a class ("modular" style)
or be on the top level, just like before ("classic" style)

* http://wiki.github.com/brynary/webrat/sinatra
* http://www.sinatrarb.com/extensions.html
2009-02-28 03:30:25 +01:00
Bryan Helmkamp
4115c99c9b Merge branch 'master' into atmos 2009-02-27 20:41:05 -05:00
Bryan Helmkamp
b7e0d6f8e6 Prep for 0.4.2 release 2009-02-24 12:29:05 -05:00
Bryan Helmkamp
e32a208b7f Fix warning caused by Nokogiri deprecating CSS::Parser.parse (Aaron Patterson) [#176 state:resolved] 2009-02-23 22:19:02 -05:00
Bryan Helmkamp
aec889a14d Always deal with one query selector (a String, not an Array) 2009-02-23 22:14:58 -05:00
Bryan Helmkamp
18c60f4e51 Refactoring XPath manipulation 2009-02-23 20:52:17 -05:00
Bryan Helmkamp
29c40bd73c Pulling attribute conditions up from have_selector to have_xpath 2009-02-23 20:47:02 -05:00
Bryan Helmkamp
1625e3e9ba Pulling :content functionality up from have_selector into have_xpath 2009-02-23 20:22:36 -05:00
Bryan Helmkamp
a688c28b19 Extracting xpath_escape method 2009-02-23 20:21:23 -05:00
Bryan Helmkamp
9761b64b60 Pulling :count option up from have_selector to have_xpath 2009-02-23 20:18:36 -05:00
Bryan Helmkamp
66d39b851c Allow have_xpath to accept options 2009-02-23 20:15:29 -05:00
Bryan Helmkamp
2296cadb93 Pulling features up from have_tag into have_selector 2009-02-23 20:11:25 -05:00
Corey Donohoe
120a53dced small doc fixup to explain how to use different application frameworks with selenium 2009-02-23 14:21:42 -07:00
Bryan Helmkamp
d96899be8c Remove extra whitespace from contain failure message 2009-02-23 11:19:09 -05:00
Corey Donohoe
ec06c76b91 use bin/merb if it's available for appserver startup 2009-02-18 12:31:52 -07:00
Corey Donohoe
92565d3bc4 use application_environment in merb also 2009-02-18 12:16:19 -07:00
Bryan Helmkamp
17a8bc7b66 Adding :count option to have_tag 2009-02-15 19:41:44 -05:00
Bryan Helmkamp
932fdab884 Get quoting working for content 2009-02-15 19:32:25 -05:00
Corey Donohoe
63337d4476 it helps if i make sure the spec suite still passes :\ 2009-02-15 14:41:54 -07:00
Corey Donohoe
69dfa5022a Webrat.configuration.application_type => Webrat.configuration.application_framework 2009-02-15 14:40:17 -07:00
Corey Donohoe
7692930769 clean up constant definitions for rails and fix merb port fubar on selenium appserver stop 2009-02-15 14:37:38 -07:00
Corey Donohoe
4bf49a5163 allow picking your appserver type via a configuration option, not discovering framework specific files in the current working directory. also start rack apps with the application port parameter 2009-02-11 11:17:43 -07:00
Corey Donohoe
8fbcbef180 better handling for starting/stopping the server 2009-02-11 10:09:23 -07:00
Corey Donohoe
82eabc31ee small fixup for sinatra + selenium, use rackup instead of mongrel_rails if config.ru exists 2009-02-11 09:25:39 -07:00
Peter Jaros
24eab77ecd Accept do/end blocks in matchers. [#157 state:resolved] 2009-02-09 00:31:17 -05:00
Bryan Helmkamp
7fe667da73 Removing HashWithIndifferentAccess
Doesn't seem to be required, according to our integraton specs
2009-02-09 00:13:41 -05:00
Bryan Helmkamp
7fc6a79bee Merge commit 'teejayvanslyke/master' into lh_159 2009-02-08 21:03:40 -05:00
Bryan Helmkamp
4769a5f90b Detect infinite redirects and raise a Webrat::InfiniteRedirectError (Daniel Lucraft) 2009-02-08 20:54:00 -05:00
Bryan Helmkamp
e5ae16367c Prep for 0.4.1 release 2009-01-31 17:58:17 -05:00
Lee Bankewitz
56e6d15811 add uncheck to selenium_session 2009-01-30 15:15:22 -05:00
T.J. VanSlyke
ea8e1910d1 Added single-quotes around --chdir argument to mongrel_rails call, as
webrat bombs with a file not found error if RAILS_ROOT contains a space.
2009-01-30 11:37:43 -08:00
Noah Davis
49e86d103f comment out have_tag from selenium matcher which overrides rails' have_tag
partially reverts 483559f279
2009-01-28 14:34:24 -05:00
Bryan Helmkamp
7f9df54838 Merge commit 'lenalena/master' into lh_139 2009-01-27 19:13:53 -05:00
Bryan Helmkamp
33509ef575 Remove stray require of ruby-debug 2009-01-25 19:50:58 -05:00
Mike Gaffney
8d9d907e73 have_tag is built into rails and rspec and we don't want to overload those.
Please use assert_contain or assert_select
Revert "Make have_tag work in rails as well as Merb"

This reverts commit 6e7609e01c.
2009-01-24 13:01:41 -06:00
Noah Davis
f956bea7dd Adding rescue from Webrat::TimeoutError in selenium matchers which allows NegativeMatchers to behave correctly 2009-01-24 01:44:05 -05:00
Mike Gaffney
f4f0e3b6a7 Merge branch 'master' of git@github.com:brynary/webrat 2009-01-23 22:35:46 -06:00
Amos King
483559f279 Makes have_tag work outside of Merb. 2009-01-23 21:32:54 -06:00
Amos King
6e7609e01c Make have_tag work in rails as well as Merb 2009-01-23 21:13:13 -06:00
Amos King
118b522662 moved have content 2009-01-23 21:03:19 -06:00
Amos King
3a5d34e759 Moved have selector 2009-01-23 21:01:21 -06:00
Amos King
5a91f10a99 Began moving selenium matchers to their own files to be consistent with core matchers and for maintainability. 2009-01-23 20:59:30 -06:00
mike.gaffney
cbddebd01c Merge branch 'lh_82' of git@github.com:gaffo/webrat 2009-01-23 16:23:12 -06:00
Noah Davis
996eedb0d2 Switch to using selenium.click instead of .check when checking a checkbox 2009-01-23 17:08:04 -05:00
Amos King
8c0facc5af cleanup and tests closes LH #82 2009-01-23 16:05:33 -06:00
Amos King
da59584cdf add the ability for selenium mode to create pids dirs 2009-01-23 15:34:51 -06:00
Amos King
2c9b546a83 Merge branch 'lh_120_tests_with_selenium' of git@github.com:gaffo/webrat into lh_82
Conflicts:
	spec/integration/rails/test/integration/webrat_test.rb
2009-01-23 15:11:16 -06:00
Zach Dennis
0272e81847 Fixed issue where webrat was only using relative paths when making requests for Rails apps. This borked Rails apps that use subdomains [John Hwang/Zach Dennis] 2009-01-20 21:48:48 -05:00
Josh Knowles
7a59353c78 Unfortunately this commit breaks any Rails specs which pass anchor tags. I like the concept, but I'd prefer to work on this post 0.4.1 once I have a bit more time to work out the failures in our referance app.
This reverts commit 4fc2b7eb7e.
2009-01-20 20:08:57 -05:00
Adam Greene
4fc2b7eb7e removing the normalization of url's for the rails session. stipping them of host, port, and anchors is not really needed, especially since josh's redirect change to stop when going to a different host. See comments here: http://webrat.lighthouseapp.com/projects/10503-webrat/tickets/132 2009-01-20 19:30:28 -05:00
Adam Greene
4e3cf59920 adding a helper method to make it easier to see where the user was redirected_to 2009-01-20 19:30:22 -05:00
Adam Greene
ce36e5890f lets follow redirects that are on the same domain but a different subdomain... 2009-01-20 19:30:16 -05:00
Bryan Helmkamp
e53c64f763 Setup deprecated writers for the selenium_environment= and selenium_port= config methods 2009-01-20 00:32:19 -05:00
Bryan Helmkamp
d60f524df1 Merge commit '1bfe7634f8bb93472f4f53715d43916a8ff1569f' 2009-01-20 00:26:36 -05:00
Bryan Helmkamp
0204c2766d Change query params parser to work with Edge Rails 2009-01-20 00:25:52 -05:00
ichverstehe
1bfe7634f8 sinatra 0.9 support 2009-01-19 23:51:01 +01:00
Kyle Hargraves
6529a016d1 Labels should only search for fields within the current scope 2009-01-19 13:45:36 -06:00
Bryan Helmkamp
14d114ce1d Ensure the previous pages params aren't passed through redirect 2009-01-19 13:56:22 -05:00
Bryan Helmkamp
f7b4e673cd reloads is deprecated, not reload 2009-01-18 17:19:46 -05:00
Bryan Helmkamp
bbf6cf06c2 Bump version number to 0.4.0 2009-01-18 17:08:12 -05:00
Kyle Hargraves
2b38b78724 field_labeled() should disregard labels without matching fields 2009-01-18 15:57:08 -06:00
Bryan Helmkamp
cbd323ac37 More info in the Unknown mode error message 2009-01-18 16:45:24 -05:00
Bryan Helmkamp
f92f9bead8 Parse content as HTML (unless the Content-Type is XML) 2009-01-18 16:34:42 -05:00
Bryan Helmkamp
4720a79d3c Bumping version to 0.3.999.1 in prep for 0.4 coming later today 2009-01-18 16:26:32 -05:00
Bryan Helmkamp
743d787164 Ensure setting mode as a string works too 2009-01-18 16:25:35 -05:00
Bryan Helmkamp
00d0d7b438 Temporary shim to support Merb's require statement for Webrat 2009-01-18 16:20:58 -05:00
Bryan Helmkamp
fdb94f399c Allow multiple configuration blocks without dropping previous configuration.
If you really want to start with a default configuration use:

  Webrat.configure(Webrat::Configuration.new) do |config|
    ...
  end
2009-01-18 16:15:56 -05:00
Bryan Helmkamp
0b07dfedcd Add docs for field_labeled 2009-01-18 16:05:27 -05:00
Zach Dennis
cdf9908f9e Fixed bug where Scope was creating a new DOM rather than re-using the existing DOM. [#105 state:resolved] 2009-01-17 16:59:12 -05:00
Bryan Helmkamp
ebd9d8ed52 Merge commit 'gaffo/lh_116_selenium_asserts' into lh_116
Conflicts:
	History.txt
2009-01-17 16:39:29 -05:00
Bryan Helmkamp
55bc6b8e00 Merge commit 'gaffo/lh_123' into lh_123
Conflicts:
	History.txt
2009-01-17 16:27:39 -05:00
Bryan Helmkamp
1731681e79 Merge commit 'cornel/lh_110'
Conflicts:
	History.txt
2009-01-17 16:10:34 -05:00
George Ogata
9ea7d94621 Add documentation for set_hidden_field, click_area, and submit_form [#122 state:resolved] 2009-01-17 13:40:03 -05:00
Bryan Helmkamp
030412bd3f Minor refactoring to extract rails_request_parser 2009-01-17 13:34:06 -05:00
Bryan Helmkamp
7f38666325 Merge commit 'marcenuc/lh_107_request_parser_2_3_fix' into lh_107 2009-01-17 13:30:40 -05:00
Bryan Helmkamp
3e3d8e3659 Raise a Webrat::NotFoundError if the scope passed to #within doesn't exist [#90 state:resolved] 2009-01-17 13:27:32 -05:00
Bryan Helmkamp
7a7cb3f002 Support passing an ActiveRecord model to #within when in Rails mode [#68 state:resolved] (Luke Melia) 2009-01-17 13:18:42 -05:00
Amos King
04b765976b change matchers to use assert so that assertion count is incremented 2009-01-14 11:38:38 -06:00
Amos King
50c5d50ca7 make asserts count for have_xpath 2009-01-14 11:01:44 -06:00
Amos King
47c0b9520f make asserts count for have_tag 2009-01-14 11:01:33 -06:00
Amos King
e864d56079 make asserts count for have_selector 2009-01-14 11:01:20 -06:00
Amos King
ea930106b6 remove commented code and make assert_contain use a true assertion 2009-01-14 10:58:48 -06:00
Amos King
9745673f1c Revert "remove commented code and make assert_contain use a true assertion"
This reverts commit 114db434182bbf9ad5b2737d181048bab363f055.
2009-01-13 22:30:52 -06:00
Amos King
cdd390a19d remove commented code and make assert_contain use a true assertion 2009-01-13 22:30:52 -06:00
Mike Gaffney
c1b49f36ea working on getting standardized for the specs 2009-01-12 23:31:14 -06:00
Amos King
714d8679ed change attr_accessor :mode to attr_reader since there is a writer created after 2009-01-12 15:41:56 -06:00
cornel.borcean
c79d2216b2 added selenium_browser_key to allow running on more than firefox, and completed the ability to configure to work with selenium grid."
"
2009-01-12 15:15:11 -06:00
cornel.borcean
e49c341fc0 implemented start and stop selenium server only if the selenium_server_address is nil 2009-01-12 14:17:05 -06:00
cornel.borcean
0edffe0ac4 added selenium_server port and address and application address for configuring selenium more dynamically 2009-01-12 12:50:53 -06:00
cornel.borcean
0ce92dfcd8 changed selenium_environment to application_environment and deprecated selenium_environment and selenium_port 2009-01-12 12:32:14 -06:00
cornel.borcean
8932544d46 changed description for the application_port variable 2009-01-12 12:21:24 -06:00
cornel.borcean
33d2cdcc53 changed selenium_port to application_port to reflect what the variable is used for ... 2009-01-12 12:13:22 -06:00