selenium_fury 0.5.12 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. data/.rvmrc +2 -7
  2. data/Gemfile +1 -1
  3. data/VERSION +1 -1
  4. data/features/custom_generator.feature +1 -1
  5. data/features/generate_page_object.feature +1 -1
  6. data/features/step_definitions/custom_generator_steps.rb +81 -125
  7. data/features/step_definitions/generate_page_object_steps.rb +3 -3
  8. data/features/step_definitions/validate_page_object_steps.rb +4 -4
  9. data/features/support/env.rb +10 -4
  10. data/features/support/hooks.rb +2 -1
  11. data/features/validate_page_object.feature +3 -3
  12. data/lib/selenium_fury.rb +3 -4
  13. data/lib/selenium_fury/common/selenium_api_chooser.rb +19 -7
  14. data/lib/selenium_fury/selenium_client/locator_finder.rb +15 -0
  15. data/lib/selenium_fury/selenium_client/page_generator.rb +1 -0
  16. data/lib/selenium_fury/selenium_client/page_validator.rb +12 -37
  17. data/lib/selenium_fury/selenium_web_driver/element_finder.rb +16 -1
  18. data/lib/selenium_fury/selenium_web_driver/page_object.rb +2 -2
  19. data/lib/selenium_fury/selenium_web_driver/page_object_components.rb +1 -1
  20. data/spec/common/selenium_api_chooser_spec.rb +11 -11
  21. data/spec/selenium_client/custom_generators_spec.rb +23 -7
  22. data/spec/selenium_client/page_generator_spec.rb +3 -3
  23. data/spec/selenium_client/page_validator_spec.rb +5 -5
  24. data/spec/selenium_client/test_page_rc_spec.rb +14 -0
  25. data/spec/selenium_web_driver/element_finder_spec.rb +1 -1
  26. data/spec/selenium_web_driver/page_generator_spec.rb +10 -10
  27. data/spec/selenium_web_driver/page_object_spec.rb +69 -40
  28. data/spec/selenium_web_driver/page_validator_spec.rb +5 -5
  29. data/spec/spec_helper.rb +13 -12
  30. data/spec/test_page/test_page.html +70 -0
  31. data/spec/test_page/test_page.rb +21 -0
  32. data/spec/test_page/test_page_custom_generator_configuration.rb +16 -0
  33. data/spec/test_page/test_page_rc.rb +25 -0
  34. metadata +194 -181
  35. data/selenium_fury.gemspec +0 -118
  36. data/spec/selenium_client/advanced_search.rb +0 -55
  37. data/spec/selenium_client/advanced_search_custom_generator_configuration.rb +0 -16
  38. data/spec/selenium_client/advanced_search_spec.rb +0 -15
  39. data/spec/selenium_web_driver/advanced_search.rb +0 -47
  40. data/spec/selenium_web_driver/inquiry_side_bar.rb +0 -7
  41. data/spec/selenium_web_driver/property_page.rb +0 -3
@@ -20,7 +20,7 @@ module SeleniumFury
20
20
  attr_accessor :found_missing_locators
21
21
  # @param page_file_class [Class] The page object class you want to test
22
22
  # @param live_url [String] the url of the page your testing
23
- def check_page_file_class(page_file_class, *live_url)
23
+ def check_page_file_class(page_file_class, live_url = nil)
24
24
  raise "cannot access the selenium client driver" if browser.nil?
25
25
  missing_locators={}
26
26
  puts "Validating the #{page_file_class} class"
@@ -28,16 +28,14 @@ module SeleniumFury
28
28
  test_page = page_file_class.new(browser)
29
29
  raise "The test class is nil" if test_page.nil?
30
30
  #skip the open if we don't need to open the url again
31
- unless live_url.empty?
31
+ if live_url
32
32
  puts "Opening #{browser.browser_url}/#{live_url}" #if $DEBUG
33
33
  browser.open live_url
34
34
  end
35
35
 
36
- #check for class methods and execute.
37
- verify_class_variables(test_page, missing_locators) if test_page.public_methods(all=false).length > 0
38
-
39
36
  #check for instance methods and execute.
40
37
  verify_instance_variables(test_page, missing_locators) if test_page.instance_variables.length > 0
38
+
41
39
  @found_missing_locators=missing_locators
42
40
  return print_missing_locators(missing_locators)
43
41
  end
@@ -66,48 +64,25 @@ module SeleniumFury
66
64
  def verify_instance_variables(test_page, missing_locators)
67
65
  #test_page.print_properties browser
68
66
  test_page.instance_variables.each do |locator_name|
67
+ locator_name_string = locator_name.to_s
69
68
  #prepare the locator values
70
- locator_name.slice!(0)
71
- if attribute_name_filter(locator_name)
72
- puts "Skipping validation for #{locator_name}"
73
- next
74
- end
75
- next if (test_page.method(locator_name).call.class.to_s != "String")
76
- puts " Validating the #{locator_name} page element locator" #chomp the @ sign off of the method name.
77
- locator_value = test_page.method(locator_name) # Create the reference to the get method of the instance variable
78
- begin
79
- browser.wait_for_element(locator_value.call, {:timeout_in_seconds => "5"})
80
- rescue
81
- puts " ----------------------------------- Could not find '#{locator_name}'"
82
- end
83
- missing_locators[locator_name]= locator_value.call if !browser.element?(locator_value.call) # Use the value of the instance variable
84
- end
85
- end
86
-
87
- # @param test_page [Object] an instantiated page object
88
- # @param missing_locators [Hash]
89
- def verify_class_variables(test_page, missing_locators)
90
- test_page.public_methods(all=false).each do |locator_name|
91
- #Only operate with the set methods not the get methods
92
- next if (!locator_name.include?("="))
93
-
94
- locator_name.slice!(locator_name.length-1)
69
+ locator_name_string.slice!(0)
95
70
 
96
- if attribute_name_filter(locator_name)
71
+ if attribute_name_filter(locator_name_string)
97
72
  puts "Skipping validation for #{locator_name}"
98
73
  next
99
74
  end
100
- next if (test_page.method(locator_name).call.class.to_s != "String")
75
+
76
+ # I don't understand where this would ever be true, but I'll leave it I guess?
77
+ # next if (test_page.method(locator_name_string.to_sym).class.to_s != "String")
101
78
  puts " Validating the #{locator_name} page element locator" #chomp the @ sign off of the method name.
102
- locator_value = test_page.method(locator_name) # Create the reference to the get method of the instance variable
103
- #Now validate the page
79
+ locator_value = test_page.method(locator_name_string.to_sym) # Create the reference to the get method of the instance variable
104
80
  begin
105
81
  browser.wait_for_element(locator_value.call, {:timeout_in_seconds => "5"})
106
82
  rescue
107
- puts " ----------------------------------- Could not find #{locator_name}"
83
+ puts " ----------------------------------- Could not find '#{locator_name}'"
84
+ missing_locators[locator_name_string]= locator_value.call
108
85
  end
109
- missing_locators[locator_name]= locator_value.call if !browser.element?(locator_value.call) # Use the value of the instance variable
110
-
111
86
  end
112
87
  end
113
88
 
@@ -1,3 +1,18 @@
1
+ #/* Copyright (c) 2010 HomeAway, Inc.
2
+ # * All rights reserved. http://www.homeaway.com
3
+ # *
4
+ # * Licensed under the Apache License, Version 2.0 (the "License");
5
+ # * you may not use this file except in compliance with the License.
6
+ # * You may obtain a copy of the License at
7
+ # *
8
+ # * http://www.apache.org/licenses/LICENSE-2.0
9
+ # *
10
+ # * Unless required by applicable law or agreed to in writing, software
11
+ # * distributed under the License is distributed on an "AS IS" BASIS,
12
+ # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # * See the License for the specific language governing permissions and
14
+ # * limitations under the License.
15
+ # */
1
16
  module SeleniumFury
2
17
  module SeleniumWebDriver
3
18
  class ElementFinder
@@ -13,7 +28,7 @@ module SeleniumFury
13
28
  nokogiri_elements.each do |nokogiri_element|
14
29
  valid_locators.each do |valid_locator|
15
30
  if nokogiri_element.get_attribute(valid_locator) != nil
16
- locators.push({valid_locator.to_sym, nokogiri_element.get_attribute(valid_locator)})
31
+ locators.push({valid_locator.to_sym => nokogiri_element.get_attribute(valid_locator)})
17
32
  break
18
33
  end
19
34
  end
@@ -18,8 +18,8 @@ class PageObject
18
18
  include SeleniumFury::SeleniumWebDriver::PageObjectComponents
19
19
  include SeleniumFury::SeleniumWebDriver::CreateSeleniumWebDriver
20
20
 
21
- def initialize *driver
22
- @driver = *driver
21
+ def initialize driver = nil
22
+ @driver = driver
23
23
  end
24
24
 
25
25
  end
@@ -57,7 +57,7 @@ module SeleniumFury
57
57
  # @return [PageObject]
58
58
  def page(page_sym, page_class)
59
59
  send :define_method, page_sym do
60
- raise "#{page_class} does not inherit from PageObject" unless page_class.superclass == PageObject
60
+ raise "#{page_class.to_s} does not inherit from PageObject" unless page_class.superclass == PageObject
61
61
  page_class.new(driver)
62
62
  end
63
63
  end
@@ -2,38 +2,38 @@ require 'spec_helper'
2
2
  describe SeleniumFury::SeleniumApiChooser do
3
3
  context "Finding generate/validate methods" do
4
4
  it "should find the generator for selenium client tests" do
5
- create_selenium_client_driver "http://www.scottcsims.com"
5
+ create_selenium_client_driver TEST_PAGE_URL
6
6
  should_receive(:get_source_and_print_elements)
7
7
  generate(browser)
8
8
  end
9
9
  it "should find the generator for selenium web_driver tests" do
10
- launch_web_driver "http://www.scottcsims.com"
10
+ launch_web_driver TEST_PAGE_URL
11
11
  should_receive(:web_driver_generate)
12
12
  generate(driver)
13
13
  end
14
14
  it "should find the validator for selenium client tests" do
15
- create_selenium_client_driver "http://www.scottcsims.com"
16
- should_receive(:check_page_file_class).with(NilClass)
17
- validate(NilClass)
15
+ create_selenium_client_driver TEST_PAGE_URL
16
+ should_receive(:check_page_file_class).with(NilClass, nil)
17
+ validate(NilClass, nil)
18
18
  end
19
19
  it "should find the validator for selenium web driver tests" do
20
- launch_web_driver "http://www.scottcsims.com"
20
+ launch_web_driver TEST_PAGE_URL
21
21
  should_receive(:web_driver_validate).with(NilClass)
22
22
  validate(NilClass)
23
23
  end
24
24
  end
25
25
  context "Integrating with generator/validator methods" do
26
26
  it "should find generate method for selenium client tests" do
27
- create_selenium_driver "http://www.scottcsims.com"
27
+ create_selenium_driver TEST_PAGE_URL
28
28
  browser.start_new_browser_session
29
- browser.open "/"
30
- generate(browser).should include("found (9 elements)")
29
+ browser.open TEST_PAGE_URL
30
+ generate(browser).should include("found (15 elements)")
31
31
  end
32
32
  it "should find validate method for selenium client tests" do
33
- create_selenium_driver("http://www.homeaway.com")
33
+ create_selenium_driver TEST_PAGE_URL
34
34
  browser.start_new_browser_session
35
35
  puts "Testing #{browser.browser_url} on #{browser.browser_string} "
36
- validate(AdvancedSearch, "/searchForm")
36
+ validate(TestPageRc, TEST_PAGE_URL)
37
37
  end
38
38
  it "should have found missing locators in module", SeleniumFury::SeleniumApiChooser do
39
39
  SeleniumFury::SeleniumClient::PageValidator.respond_to?(:found_missing_locators).should be_true
@@ -1,13 +1,29 @@
1
1
  require "spec_helper"
2
- describe AdvancedSearchCustomGeneratorConfiguration do
3
- it "should generate the advanced search locators" do
4
- create_selenium_driver("http://www.homeaway.com")
2
+ describe TestPageCustomGeneratorConfiguration do
3
+
4
+ it "should generate the test page link locators" do
5
+ create_selenium_driver TEST_PAGE_URL
5
6
  browser.start_new_browser_session
6
7
  puts "Testing #{browser.browser_url} on #{browser.browser_string} "
7
- browser.open "/searchForm"
8
- advanced_search_custom_generator_configuration = AdvancedSearchCustomGeneratorConfiguration.new
8
+ browser.open TEST_PAGE_URL
9
+ test_page_custom_generator_configuration = TestPageCustomGeneratorConfiguration.new
9
10
  result = custom_generator(:browser => browser,
10
- :custom_configuration => advanced_search_custom_generator_configuration)
11
- result.should include("found (30 elements)")
11
+ :custom_configuration => test_page_custom_generator_configuration)
12
+ result.should == custom_generator_result
12
13
  end
14
+ let(:custom_generator_result){
15
+ <<EOF
16
+ found (3 elements)
17
+ class YourPageFile
18
+ def initialize *browser
19
+ @browser = *browser
20
+ @link_1 = "link111111"
21
+ @link_2 = "link222222"
22
+ @link_3 = "link333333"
23
+ end
24
+ attr_accessor :browser, :link_1, :link_2, :link_3
25
+
26
+ end
27
+ EOF
28
+ }
13
29
  end
@@ -1,11 +1,11 @@
1
1
  require "spec_helper"
2
2
  describe SeleniumFury::SeleniumClient::PageGenerator do
3
3
  it "should find elements on the HomeAway advanced search page" do
4
- create_selenium_driver("http://www.homeaway.com")
4
+ create_selenium_driver TEST_PAGE_URL
5
5
  browser.start_new_browser_session
6
6
  puts "Testing #{browser.browser_url} on #{browser.browser_string} "
7
- browser.open "/searchForm"
7
+ browser.open TEST_PAGE_URL
8
8
  result = generate(browser)
9
- result.should include("found (43 elements)")
9
+ result.should include("found (15 elements)")
10
10
  end
11
11
  end
@@ -1,14 +1,14 @@
1
1
  require "spec_helper"
2
2
  describe SeleniumFury::SeleniumClient::PageValidator do
3
- it "should validate the elements contained on the AdvancedSearch page object" do
4
- create_selenium_driver("http://www.homeaway.com")
3
+ it "should validate the elements contained on the TestPage page object" do
4
+ create_selenium_driver TEST_PAGE_URL
5
5
  browser.start_new_browser_session
6
- validate(AdvancedSearch, "/searchForm")
6
+ validate(TestPageRc, TEST_PAGE_URL)
7
7
  @found_missing_locators.should_not be_nil
8
8
  @found_missing_locators.should have(0).missing_locators
9
9
  end
10
10
  it "should fail if there are missing locators" do
11
- create_selenium_driver("http://www.homeaway.com")
11
+ create_selenium_driver TEST_PAGE_URL
12
12
  class MissingLocators
13
13
  def initialize *browser
14
14
  @browser=browser
@@ -19,7 +19,7 @@ describe SeleniumFury::SeleniumClient::PageValidator do
19
19
  end
20
20
  browser.start_new_browser_session
21
21
  begin
22
- validate(MissingLocators, browser, "/searchForm")
22
+ validate(MissingLocators, TEST_PAGE_URL)
23
23
  rescue Exception => e
24
24
  puts e.message.should include("found missing locators")
25
25
  @found_missing_locators["missing"].should =="missing_id"
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+ describe TestPageRc do
3
+ it "should use elements on the TestPageRc" do
4
+ create_selenium_driver TEST_PAGE_URL
5
+ browser.start_new_browser_session
6
+ puts "Testing #{browser.browser_url} on #{browser.browser_string} "
7
+ browser.open TEST_PAGE_URL
8
+ test_page = TestPageRc.new(browser)
9
+ browser.click test_page.input_message
10
+ browser.type test_page.input_message, "this is awesome"
11
+ browser.click test_page.input_msg_button
12
+ browser.text("message").should == "this is awesome"
13
+ end
14
+ end
@@ -1,4 +1,4 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
  describe SeleniumFury::SeleniumWebDriver::ElementFinder do
3
3
  it "should find elements" do
4
4
  html="<input id='myTestId1'><input name='myTestId2'>"
@@ -1,15 +1,15 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
  describe SeleniumFury::SeleniumWebDriver::PageGenerator do
3
- it "should find elements on the HomeAway advanced search page" do
4
- launch_web_driver("http://www.homeaway.com/searchForm")
3
+ it "should find elements on the Test page" do
4
+ launch_web_driver TEST_PAGE_URL
5
5
  result = generate(driver)
6
- result.should include("found (43 elements)")
7
- result.should include("element :adv_search_form, {:id => \"adv-search-form\"}")
6
+ result.should include 'found (15 elements)'
7
+ result.should include 'element :form, {:id => "form"}'
8
8
  end
9
- it "should return a page object" do
10
- launch_web_driver("http://www.homeaway.com/searchForm")
11
- search_form = get_page_object(driver,"SearchForm")
12
- search_form.should be_instance_of SearchForm
13
- search_form.special_offers.should be_instance_of Selenium::WebDriver::Element
9
+ it "should return a TestPage page object" do
10
+ launch_web_driver TEST_PAGE_URL
11
+ test_page = get_page_object driver, "TestPage"
12
+ test_page.should be_instance_of TestPage
13
+ test_page.input_button.should be_instance_of Selenium::WebDriver::Element
14
14
  end
15
15
  end
@@ -1,55 +1,84 @@
1
1
  require 'spec_helper'
2
- describe PageObject do
2
+ describe SeleniumFury::SeleniumWebDriver::CreateSeleniumWebDriver do
3
+ it "should go to page using launch_web_driver" do
4
+ launch_web_driver TEST_PAGE_URL
5
+ driver.current_url.should include "/spec/test_page/test_page.html"
6
+ driver.title.should == "SeleniumFury Test Page"
7
+ end
8
+ end
3
9
 
4
- it "should go to the home page using launch site" do
5
- launch_web_driver "http://www.scottcsims.com"
6
- driver.current_url.should == "http://scottcsims.com/wordpress/"
7
- driver.navigate.to "http://www.scottcsims"
8
- driver.title.should == "Scott Sims"
10
+ describe PageObject do
11
+ it "should have a text area method on the test page" do
12
+ launch_web_driver TEST_PAGE_URL
13
+ test_page = TestPage.new(driver)
14
+ test_page.should_not be_nil
15
+ test_page.textarea.should be_a(Selenium::WebDriver::Element)
9
16
  end
10
- it "should have elements" do
11
- launch_web_driver "http://www.homeaway.com"
12
- search=get_page_object(driver, 'Search')
13
- search.class.elements.should_not be_nil
14
- search.class.elements.should have(8).elements
15
- search.method(search.class.elements[0]).call.class.should == Selenium::WebDriver::Element
17
+ it "should have a test page" do
18
+ class ComponentPage < PageObject
19
+
20
+ end
21
+ TestPage.page(:component_page, ComponentPage)
22
+ TestPage.new().component_page.should be_a(ComponentPage)
16
23
  end
17
- it 'should return a web_driver element when an attribute is accessed' do
18
- launch_web_driver "http://www.homeaway.com"
19
- search=get_page_object(driver, 'Search')
20
- search.start_date_input.class.should == Selenium::WebDriver::Element
21
- search.search_keywords Faker::Lorem.words
24
+
25
+ it "should have an error if a non page object class is passed to page method" do
26
+ TestPage.page(:not_a_page, String)
27
+ expect { TestPage.new().not_a_page }.to(raise_exception(RuntimeError, "String does not inherit from PageObject"))
22
28
  end
23
29
 
24
- it "should raise an exception when the element can't be found'" do
25
- launch_web_driver "http://www.homeaway.com"
26
- search=get_page_object(driver, 'Search')
27
- Search.element(:not_a_element, {:id =>"not a element"})
28
- lambda{search.not_a_element}.should(raise_exception(RuntimeError,"Could not find element not_a_element"))
30
+ it "should use elements on the TestPage" do
31
+ launch_web_driver TEST_PAGE_URL
32
+ test_page = TestPage.new(driver)
33
+ test_page.input_message.send_keys "this is awesome"
34
+ test_page.input_msg_button.click
35
+ driver.find_element(:id => "message").text.should == "this is awesome"
29
36
  end
30
37
 
31
- it "should have a property page that contains a inquiry sidebar" do
32
- launch_web_driver "http://www.homeaway.com/vacation-rental/p254680"
33
- property_page = PropertyPage.new(driver)
34
- property_page.should_not be_nil
35
- property_page.inquiry_side_bar.should_not be_nil
38
+ it "should use some methods man" do
39
+ launch_web_driver TEST_PAGE_URL
40
+ test_page = TestPage.new(driver)
41
+ test_page.click_check_box
42
+ driver.find_element(:id => "input_checkbox").selected?.should be_true
36
43
  end
37
44
 
38
- it "should have an error if a non page object class is passed to page method" do
39
- property_page = PropertyPage.new()
40
- PropertyPage.page(:not_a_page, String)
41
- lambda{property_page.not_a_page}.should raise_exception(RuntimeError,"String does not inherit from PageObject")
45
+ # OK, so here's some great info about the "magic" behind ruby.
46
+ # When ruby spins up, an Object class is created, and everything runs "inside" it
47
+ # When you do code like this: TestPage.new() an instance of TestPage is added as a constant
48
+ # to the instance of this "global" Object class
49
+ # Therefore, since rspec is running "inside" this Object Class, an instance of TestPage is
50
+ # instantiated and shared from test to test, BUT when you do get_page_object, an instance
51
+ # of the page object must be created and added as a constant, but if it already exists,
52
+ # you're gonna have bad time. Therefore, for testing sake, we must check for this,
53
+ # and handle it appropriately.
54
+ #
55
+ # It should also be noted that get_page_object only adds page elements to the class
56
+ # and currently doesn't look for a pre-defined page object in the project
57
+
58
+ it "should have elements" do
59
+ Object.instance_eval { remove_const :TestPage } if Object.const_defined? :TestPage
60
+ launch_web_driver TEST_PAGE_URL
61
+ test_page = get_page_object(driver, 'TestPage')
62
+ test_page.class.elements.should_not be_nil
63
+ test_page.class.elements.should have(15).elements
64
+ test_page.method(test_page.class.elements[0]).call.class.should == Selenium::WebDriver::Element
65
+ Object.instance_eval { remove_const :TestPage }
42
66
  end
43
- it "should use elements on the HomeAway advanced search page" do
44
- launch_web_driver("http://www.homeaway.com/searchForm")
45
- advanced_search = AdvancedSearchWebDriver.new(driver)
46
- advanced_search.amenity0_0.click
47
- advanced_search.adv_search_form.submit
67
+ it "should return a web_driver element when an attribute is accessed" do
68
+ Object.instance_eval { remove_const :TestPage } if Object.const_defined? :TestPage
69
+ launch_web_driver TEST_PAGE_URL
70
+ test_page = get_page_object(driver, 'TestPage')
71
+ test_page.textarea.class.should == Selenium::WebDriver::Element
72
+ Object.instance_eval { remove_const :TestPage }
48
73
  end
49
74
 
50
- it "should use methods on the HomeAway advanced search page" do
51
- launch_web_driver("http://www.homeaway.com/searchForm")
52
- advanced_search = AdvancedSearchWebDriver.new(driver)
53
- advanced_search.click_one_item
75
+ it "should raise an exception when the element can't be found'" do
76
+ Object.instance_eval { remove_const :TestPage } if Object.const_defined? :TestPage
77
+ launch_web_driver TEST_PAGE_URL
78
+ test_page = get_page_object(driver, 'TestPage')
79
+ TestPage.element :not_a_element, {:id => "not a element"}
80
+ expect { test_page.not_a_element }.to raise_exception RuntimeError, "Could not find element not_a_element"
81
+ Object.instance_eval { remove_const :TestPage }
54
82
  end
83
+
55
84
  end
@@ -1,4 +1,4 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
  describe SeleniumFury::SeleniumWebDriver::PageValidator do
3
3
 
4
4
  it "should have a missing element exception" do
@@ -6,13 +6,13 @@ describe SeleniumFury::SeleniumWebDriver::PageValidator do
6
6
  element :not_a_element1, {:id=>"not a element1"}
7
7
  element :not_a_element2, {:id=>"not a element2"}
8
8
  end
9
- launch_web_driver("http://www.homeaway.com/searchForm")
10
- lambda{web_driver_validate(MissingElement)}.should raise_exception(RuntimeError,"Found Missing Elements: [:not_a_element1, :not_a_element2]")
9
+ launch_web_driver TEST_PAGE_URL
10
+ expect{web_driver_validate(MissingElement)}.to raise_exception RuntimeError,"Found Missing Elements: [:not_a_element1, :not_a_element2]"
11
11
  end
12
12
 
13
13
  it "should validate elements" do
14
- launch_web_driver("http://www.homeaway.com/searchForm")
15
- validate(AdvancedSearchWebDriver)
14
+ launch_web_driver TEST_PAGE_URL
15
+ validate TestPage
16
16
  end
17
17
 
18
18
  end