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
Amos King
d4008ebc06
oops didn't notice I was using the wrong matchers. Matchers now using Selenium mode.
2009-01-09 23:13:57 -06:00
Amos King
928b224237
Revert "include Webrat::Matchers in selinium mode"
...
And Revert "getting assert_* to work with selenium"
2009-01-09 23:11:33 -06:00
Amos King
10b31be511
remove duplicated code from the Has Content matchers in selenium matchers file.
2009-01-09 22:14:12 -06:00
Amos King
fbb74a5a98
include Webrat::Matchers in selinium mode
2009-01-09 22:13:34 -06:00
Lena
b4d85cb50b
Added recognition of input tags with type button, which are generated by the Rails submit_to_remote helper
2009-01-07 12:27:47 +01:00
Marcello Nuccio
076e198287
In rails-2.3 parse_query_parameters is in RequestParser
2009-01-07 03:17:26 +01:00
Mike
7bfa4c55c0
Merge branch 'lh_86_assert_contains' of git@github.com:gaffo/webrat into lh_86_assert_contains
2009-01-05 13:06:53 -06:00
Amos King
021f197abc
change assert_tag and assert_no_tag to assert_have_tag and assert_no_tag so it won't conflict with rails and so that it will be more like the matchers.
2009-01-05 13:03:08 -06:00
Amos King
ff00ae10ea
add have to assert_selector and assert_no_selector for consistency.
2009-01-05 12:59:56 -06:00
Amos King
f814b79ac1
change assert_xpath and assert_no_xpath to be assert_have_xpath and assert
...
_have_no_xpath to be closer to the rspec matcher.
2009-01-05 12:58:40 -06:00
Mike
7901c7503a
Merge branch 'master' of git://github.com/brynary/webrat into lh_86_assert_contains
2009-01-05 12:33:19 -06:00
Amos King
4e0845c8db
Added assert_xpath and assert_no_xpath for Test::Unit support.
2009-01-05 12:23:48 -06:00
Josh Knowles
9825aee47e
Don't follow external redirects
2009-01-04 23:56:52 -05:00
Nicolas Sanguinetti
4565a3cea6
Unescape the values passed to the sinatra test helpers
2009-01-04 22:36:21 -05:00
Josh Knowles
34ea3e64b8
Sinatra integration tests for following redirects
2009-01-04 22:34:47 -05:00
Josh Knowles
c3120833b0
Merge branch 'foca/master'
2009-01-04 21:57:25 -05:00
gaffo
fece459f5f
added assert_selector
2009-01-04 18:00:18 -06:00
gaffo
cf1589823d
added assert_tag, assert_no_tag
2009-01-04 17:42:54 -06:00
gaffo
0f0dab0b0b
Upaded to webrat newest
...
Signed-off-by: gaffo <mike@uberu.com>
2009-01-04 15:21:14 -06:00
Amos King
fe5d183e69
backed out will add in again as a different feature
2009-01-02 14:36:16 -06:00
Amos King
45bd577955
fix selenium matchers to only overide needed methods from the oriinal matchers so that I don't have to write the same methods again for selenium mode.
2009-01-02 14:31:43 -06:00
Mike
b77c33b865
added delegator for response_body to session so it is accessible from integration test when using test::unit
2009-01-02 13:05:27 -06:00
Amos King
b3d6c9d89b
assert_contain and assert_not_contain fully functional
2008-12-31 17:01:46 -06:00
Josh Knowles
e19b1cc323
Rails and Merb integration tests for following redirects
2008-12-29 23:14:26 -05:00
Josh Knowles
e77495bc04
Refactor redirect handling as Merb response doesn't support the redirect? method. All integration specs now passing again.
2008-12-29 22:45:55 -05:00
Josh Knowles
ce364d1663
Refactor redirect support out of RailsSession & SinatraSession and into Session#request_page
2008-12-29 21:19:13 -05:00
Kieran Pilkington
0938c6dafc
bugfix: when h was nil (which it was for all my tests), everyone would fail with nil.[]= errors. Making sure we at least have a blank hash fixes this.
2008-12-29 19:27:30 -05:00
Nicolas Sanguinetti
422c6aea89
Use request_page to handle sinatra redirects
...
This should make current_url and keeping the referrer work as expected
2008-12-29 03:37:41 -02:00
Nicolas Sanguinetti
6704d487bc
Disable sinatra's app run and reload
2008-12-29 03:37:12 -02:00
Nicolas Sanguinetti
6d108393be
Allow accessing the request and response from SinatraSession
2008-12-29 01:40:14 -02:00
Bryan Helmkamp
2ead102f54
Merge commit 'joshknowles/master'
2008-12-28 21:15:31 -05:00
Josh Knowles
4b6558e7e5
Properly set referer and redirect to proper location
2008-12-28 21:12:34 -05:00
Bryan Helmkamp
a018af99ff
Remove references to should_see and should_not_see, which don't exist
2008-12-28 21:05:22 -05:00
Bryan Helmkamp
29274f9b4b
Merge commit 'joshknowles/master'
...
Conflicts:
lib/webrat/rails.rb
spec/webrat/rails/rails_session_spec.rb
2008-12-28 19:35:42 -05:00
Bryan Helmkamp
f409ec3ecb
Better error message if Webrat mode is unknown
2008-12-28 14:24:24 -05:00
Bryan Helmkamp
7c603f834c
Minor refactorings
2008-12-27 20:18:55 -05:00
Mike Gaffney
a954b02b22
adding in failure messages
2008-12-27 17:30:54 -06:00
Mike Gaffney
449edf4a10
updated from master
2008-12-27 17:22:51 -06:00
Mike Gaffney
fbcd509097
added code, working on specs
2008-12-27 16:44:54 -06:00
Kieran Pilkington
2c51d90830
adding configuration option to change seleniums environment and port settings
2008-12-28 11:39:34 +13:00
Bryan Helmkamp
362df8abf0
Fix startup bug when using Webrat::Selenium with Test::Unit
2008-12-27 15:57:01 -05:00
Bryan Helmkamp
0eaad52768
Cleanup the way the tests switch Webrat modes
2008-12-25 23:28:29 -05:00
gaffo
22c7834512
Sets the Webrat mode with Configuration#mode= in the config block
2008-12-25 23:07:10 -05:00
Josh Knowles
89e9ea91e9
Support forwarding headers when following redirects when using the SinatraSession
2008-12-25 18:28:54 -05:00
Josh Knowles
b88b2b2949
Forward headers during redirects when using the RailsSession.
2008-12-25 16:53:06 -05:00
Graham Ashton
df2df61267
Ensure that Webrat::MechanizeSession.request_page always uses an absolute URL.
...
Signed-off-by: Bryan Helmkamp <bryan@brynary.com>
2008-12-25 15:03:42 +08:00
Bryan Helmkamp
3492a91c4e
Updating gemspec. Another interim release
2008-12-25 01:58:54 -05:00
Noah Davis
0b9fd99bc0
stripping anchor tags from URIs before passing to rails integration session
2008-12-19 14:32:02 -05:00
Luke Melia
7d63aa1a4d
Extracted save_and_open_page related functionality to a module and included it in SeleniumSession as well as the standard webrat session. Also added save_and_open_screengrab method to SeleniumSession.
2008-12-19 00:47:26 -05:00
Luke Melia
f3dfa329b5
Allow SeleniumSession's click_button to be called without an argument without blowing up.
2008-12-18 02:48:36 -05:00
Luke Melia
492a301449
For your viewing pleasure... maximize the selenium window at after initializing selenium.
2008-12-18 02:45:10 -05:00
Ross Kaffenberger
567f5ada0e
Text treated as regexp for buttons
2008-12-17 18:33:20 -05:00
Bryan Helmkamp
a5e6af2fe7
Better inspect output for Webrat elements
2008-12-12 15:43:27 -05:00
gaffo
ee86067829
updating per reccomendations
2008-12-09 00:12:09 -06:00