rwebspec-webdriver 0.3.0 → 0.3.1
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.
data/Rakefile
CHANGED
@@ -69,7 +69,7 @@ end
|
|
69
69
|
spec = Gem::Specification.new do |s|
|
70
70
|
s.platform= Gem::Platform::RUBY
|
71
71
|
s.name = "rwebspec-webdriver"
|
72
|
-
s.version = "0.3.
|
72
|
+
s.version = "0.3.1"
|
73
73
|
s.summary = "Executable functional specification for web applications in RSpec syntax and Selenium-WebDriver"
|
74
74
|
# s.description = ""
|
75
75
|
|
@@ -19,9 +19,6 @@ module RWebSpec
|
|
19
19
|
include RWebSpec::WebDriver::TestWisePlugin
|
20
20
|
include RWebSpec::WebDriver::Popup
|
21
21
|
|
22
|
-
@@default_polling_interval = 1 # second
|
23
|
-
@@default_timeout = 30 # seconds
|
24
|
-
|
25
22
|
# open a browser, and set base_url via hash, but does not acually
|
26
23
|
#
|
27
24
|
# example:
|
@@ -602,7 +599,7 @@ module RWebSpec
|
|
602
599
|
# wait_until {puts 'hello'}
|
603
600
|
# wait_until { div(:id, :receipt_date).exists? }
|
604
601
|
#
|
605
|
-
def wait_until(timeout =
|
602
|
+
def wait_until(timeout = $testwise_polling_timeout || 30, polling_interval = $testwise_polling_interval || 1, & block)
|
606
603
|
end_time = ::Time.now + timeout
|
607
604
|
|
608
605
|
until ::Time.now > end_time
|
@@ -633,7 +630,7 @@ module RWebSpec
|
|
633
630
|
#
|
634
631
|
# Warning: this method has not been fully tested, if you are not using Rails, change your parameter accordingly.
|
635
632
|
#
|
636
|
-
def ajax_wait_for_element(element_id, seconds, status='show', check_interval =
|
633
|
+
def ajax_wait_for_element(element_id, seconds, status='show', check_interval = $testwise_polling_interval)
|
637
634
|
count = 0
|
638
635
|
check_interval = 1 if check_interval < 1 or check_interval > seconds
|
639
636
|
while count < (seconds / check_interval) do
|
@@ -653,7 +650,7 @@ module RWebSpec
|
|
653
650
|
#Wait the element with given id to be present in web page
|
654
651
|
#
|
655
652
|
# Warning: this not working in Firefox, try use wait_util or try instead
|
656
|
-
def wait_for_element(element_id, timeout =
|
653
|
+
def wait_for_element(element_id, timeout = $testwise_polling_timeout, interval = $testwise_polling_interval)
|
657
654
|
start_time = Time.now
|
658
655
|
#TODO might not work with Firefox
|
659
656
|
until @web_browser.element_by_id(element_id) do
|
@@ -46,7 +46,7 @@ module RWebSpec
|
|
46
46
|
# try { click_link('waiting')}
|
47
47
|
# try(10, 2) { click_button('Search' } # try to click the 'Search' button upto 10 seconds, try every 2 seconds
|
48
48
|
# try { click_button('Search' }
|
49
|
-
def try(timeout =
|
49
|
+
def try(timeout = $testwise_polling_timeout, polling_interval = $testwise_polling_interval || 1, &block)
|
50
50
|
start_time = Time.now
|
51
51
|
|
52
52
|
last_error = nil
|
@@ -9,9 +9,6 @@ module RWebSpec
|
|
9
9
|
module WebDriver
|
10
10
|
module Utils
|
11
11
|
|
12
|
-
@@default_polling_interval = 1 # second
|
13
|
-
@@default_timeout = 30 # seconds
|
14
|
-
|
15
12
|
# Using Ruby block syntax to create interesting domain specific language,
|
16
13
|
# may be appeal to someone.
|
17
14
|
|
@@ -70,7 +67,7 @@ module RWebSpec
|
|
70
67
|
# Example
|
71
68
|
# repeat_try(3, 2) { click_button('Search' } # 3 times, 6 seconds in total
|
72
69
|
# repeat_try { click_button('Search' } # using default 5 tries, 2 second interval
|
73
|
-
def repeat_try(num_tries =
|
70
|
+
def repeat_try(num_tries = $testwise_polling_timeout || 30, interval = $testwise_polling_interval || 1, & block)
|
74
71
|
num_tries ||= 1
|
75
72
|
(num_tries - 1).times do |num|
|
76
73
|
begin
|
@@ -99,7 +96,7 @@ module RWebSpec
|
|
99
96
|
# try { click_link('waiting')}
|
100
97
|
# try(10, 2) { click_button('Search' } # try to click the 'Search' button upto 10 seconds, try every 2 seconds
|
101
98
|
# try { click_button('Search' }
|
102
|
-
def try_until(timeout =
|
99
|
+
def try_until(timeout = $testwise_polling_timeout, polling_interval = $testwise_polling_interval || 1, & block)
|
103
100
|
start_time = Time.now
|
104
101
|
|
105
102
|
last_error = nil
|
@@ -119,7 +116,7 @@ module RWebSpec
|
|
119
116
|
|
120
117
|
alias try_upto try_until
|
121
118
|
|
122
|
-
def try(timeout =
|
119
|
+
def try(timeout = $testwise_polling_timeout, polling_interval = $testwise_polling_interval || 1, &block)
|
123
120
|
puts "Warning: method 'try' is deprecated (won't support in RWebSpec 3), use try_until instead."
|
124
121
|
try_until(timeout, polling_interval) {
|
125
122
|
yield
|
data/lib/rwebspec-webdriver.rb
CHANGED
@@ -17,10 +17,16 @@ require 'spec'
|
|
17
17
|
require 'selenium-webdriver'
|
18
18
|
|
19
19
|
unless defined? RWEBSPEC_WEBDRIVER_VERSION
|
20
|
-
RWEBSPEC_WEBDRIVER_VERSION = "0.3.
|
20
|
+
RWEBSPEC_WEBDRIVER_VERSION = "0.3.1"
|
21
21
|
end
|
22
22
|
|
23
|
-
|
23
|
+
|
24
|
+
## Polling settings
|
25
|
+
#
|
26
|
+
$testwise_polling_interval = 1 # seconds
|
27
|
+
|
28
|
+
$testwise_polling_timeout = 30 # seconds
|
29
|
+
|
24
30
|
if RUBY_PLATFORM =~ /mswin/ or RUBY_PLATFORM =~ /mingw/
|
25
31
|
$testwise_screenshot_supported = false
|
26
32
|
begin
|