watir_helper 1.0.2 → 1.0.3
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.
- checksums.yaml +8 -8
- data/Rakefile +29 -0
- data/lib/watir_helper/browser_helper.rb +26 -17
- data/lib/watir_helper/div_helper.rb +5 -0
- data/lib/watir_helper/frame_helper.rb +5 -0
- data/lib/watir_helper/login_helper.rb +10 -9
- data/lib/watir_helper/popup_handling_helper.rb +0 -6
- data/lib/watir_helper/select_list_helper.rb +7 -2
- data/lib/watir_helper/span_helper.rb +5 -0
- data/lib/watir_helper/table_helper.rb +28 -1
- data/lib/watir_helper/validations_helper.rb +11 -6
- data/test/browser_helper_spec.rb +25 -0
- data/test/button_helper_spec.rb +26 -0
- data/test/checkbox_helper_spec.rb +18 -0
- data/test/data_type_validations_spec.rb +22 -0
- data/test/div_helper_spec.rb +19 -0
- data/test/frame_helper_spec.rb +18 -0
- data/test/image_helper_spec.rb +22 -0
- data/test/link_helper_spec.rb +18 -0
- data/test/login_helper_spec.rb +14 -0
- data/test/popup_handling_helper_spec.rb +23 -0
- data/test/radio_helper_spec.rb +17 -0
- data/test/select_list_helper_spec.rb +27 -0
- data/test/span_helper_spec.rb +14 -0
- data/test/table_helper_spec.rb +19 -0
- data/test/textfield_helper_spec.rb +29 -0
- data/test/validations_helper_spec.rb +31 -0
- data/watir_helper.gempsec +4 -1
- metadata +62 -4
- data/test/test_watir_helper.rb +0 -17
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NWM0OTBmNjVlMGE3Y2I1MjRkMDAzYTg4MzVhZDliNGQwM2IzNWFmNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YmQzZTVjYjZkMTZjYmRjMDljMjhhNmI2ZGNkZjRiODhjMzFlODM0Yw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTI1MDlmZjQ1YTEwODI4ZTJjM2FjZTkyNGJjMTEyMjJlNWY5ZWJmOTM3N2Vl
|
10
|
+
MDAzM2U0ZDNlYjQ1ZTYxMTVmMzk0YTAxYzM4YjEwODIxNzNiYTIyNDM4Y2M2
|
11
|
+
NzNhYzc4ZGRhZDgwOGM2NTQ5M2QyZDVkY2JhNjE0Yzg1ZWRlMWU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YWEzZTA0Njk4MGIxNGUxMWFjYTAyMDg1NjI5NjJlMzEzMDU5Y2IxZTZiZDU2
|
14
|
+
NDdjM2NiN2FkYTQ1Y2JkYWZiNTdjMjA5M2MwODc4NTc4MjU1NjBiYTQ4YmI4
|
15
|
+
MmVkY2NhNTQ3YjEyN2IwOTYyZGJhNTExZDU2ZWQxYTlkZmJjYzI=
|
data/Rakefile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rspec/core/rake_task'
|
2
|
+
|
3
|
+
namespace :spec do
|
4
|
+
|
5
|
+
desc "Run a single spec."
|
6
|
+
task :single, [:file_name] do |t, args|
|
7
|
+
args.with_defaults(:file_name => "browser_helper_spec.rb")
|
8
|
+
puts "args is #{args[:file_name].inspect}"
|
9
|
+
# Your code goes here
|
10
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
11
|
+
t.pattern = "test/#{args[:file_name]}"
|
12
|
+
end
|
13
|
+
Rake::Task["spec"].execute
|
14
|
+
end
|
15
|
+
|
16
|
+
desc "Run all specs."
|
17
|
+
task :all do
|
18
|
+
test_files = FileList['test/*_spec.rb']
|
19
|
+
puts "test_files is #{test_files.inspect}"
|
20
|
+
# Your code goes here
|
21
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
22
|
+
t.pattern = 'test/*_spec.rb'
|
23
|
+
end
|
24
|
+
Rake::Task["spec"].execute
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
task :default => ["spec:all"]
|
@@ -8,29 +8,37 @@ module BrowserHelper
|
|
8
8
|
#Set a browser.
|
9
9
|
#For e.g set_browser("ie")
|
10
10
|
def set_browser(browser_name)
|
11
|
+
Watir.driver = "webdriver" unless(browser_name == "ie")
|
12
|
+
# Rails.logger.info("=== watir_helper:driver is #{Watir.driver} ===")
|
11
13
|
Watir::Browser.new browser_name.intern
|
12
14
|
end
|
13
15
|
|
14
16
|
#Go to a page.
|
15
17
|
def goto_page(browser_handle, url)
|
16
|
-
|
18
|
+
browser_handle.goto(url)
|
17
19
|
end
|
18
20
|
|
19
|
-
#Go to the
|
20
|
-
def
|
21
|
-
|
21
|
+
#Go to the previous page.
|
22
|
+
def previous_page(browser_handle)
|
23
|
+
browser_handle.back
|
22
24
|
end
|
23
25
|
|
24
|
-
|
25
|
-
|
26
|
-
|
26
|
+
alias :goto_previous_page :previous_page
|
27
|
+
|
28
|
+
#Go to the next page.
|
29
|
+
def next_page(browser_handle)
|
30
|
+
browser_handle.forward
|
27
31
|
end
|
28
32
|
|
33
|
+
alias :goto_next_page :next_page
|
34
|
+
|
29
35
|
#Refresh the page.
|
30
|
-
def
|
36
|
+
def refresh(browser_handle)
|
31
37
|
browser_handle.refresh
|
32
38
|
end
|
33
39
|
|
40
|
+
alias :refresh_the_page :refresh
|
41
|
+
|
34
42
|
#Get the title of the browser.
|
35
43
|
def get_title(browser_handle)
|
36
44
|
browser_handle.title
|
@@ -42,33 +50,34 @@ def get_url(browser_handle)
|
|
42
50
|
end
|
43
51
|
|
44
52
|
#Close the browser.
|
53
|
+
#brute force solution => system("taskkill /t /f /im iexplore.exe")
|
45
54
|
def close_browser(browser_handle)
|
46
|
-
|
55
|
+
(Watir.driver == "webdriver") ? browser_handle.close : browser_handle.ie.quit
|
47
56
|
end
|
48
57
|
|
49
58
|
#Attach a browser window.
|
50
|
-
def
|
51
|
-
|
59
|
+
def attach_browser_window(property, propertyvalue)
|
60
|
+
Watir::Browser.attach(property.intern, /#{propertyvalue}/)
|
52
61
|
end
|
53
62
|
|
54
63
|
#Close attached browser window.
|
55
|
-
def
|
56
|
-
close_browser(
|
64
|
+
def close_attached_window(window_handle)
|
65
|
+
close_browser(window_handle)
|
57
66
|
end
|
58
67
|
|
59
68
|
#Minimize the browser.
|
60
69
|
def minimize_browser(browser_handle)
|
61
|
-
browser_handle.minimize
|
70
|
+
browser_handle.minimize unless(Watir.driver == "webdriver")
|
62
71
|
end
|
63
72
|
|
64
73
|
#Maximize the browser.
|
65
74
|
def maximize_browser(browser_handle)
|
66
|
-
browser_handle.maximize
|
75
|
+
browser_handle.maximize unless(Watir.driver == "webdriver")
|
67
76
|
end
|
68
77
|
|
69
78
|
#Verify whether text is present or not.
|
70
|
-
def verify_text?(browser_handle,
|
71
|
-
browser_handle.text.include?(
|
79
|
+
def verify_text?(browser_handle, text_to_verified)
|
80
|
+
browser_handle.text.include?(text_to_verified)
|
72
81
|
end
|
73
82
|
|
74
83
|
end
|
@@ -35,4 +35,9 @@ def exists_div?(browser_handle, property, property_value)
|
|
35
35
|
browser_handle.div(property.intern, /#{property_value}/).exists?
|
36
36
|
end
|
37
37
|
|
38
|
+
#Get div text
|
39
|
+
def get_div_text(browser_handle, property, property_value)
|
40
|
+
browser_handle.div(property.intern, /#{property_value}/).text
|
41
|
+
end
|
42
|
+
|
38
43
|
end
|
@@ -165,6 +165,11 @@ def is_value_selected_from_select_list_inside_frame?(browser_handle, frame_prop,
|
|
165
165
|
browser_handle.frame(frame_prop.intern, /#{frame_prop_val}/).select_list(select_list_prop.intern, /#{select_list_prop_val}/).selected?(selected_value)
|
166
166
|
end
|
167
167
|
|
168
|
+
#Frame contains text or not
|
169
|
+
def frame_contains_text?(browser_handle, frame_prop, frame_prop_val, text_to_verified)
|
170
|
+
browser_handle.frame(frame_prop.intern, /#{frame_prop_val}/).text.include?(text_to_verified)
|
171
|
+
end
|
172
|
+
|
168
173
|
end
|
169
174
|
|
170
175
|
|
@@ -5,25 +5,26 @@ require File.expand_path('common_helpers', File.dirname(__FILE__))
|
|
5
5
|
|
6
6
|
module LoginHelper
|
7
7
|
|
8
|
+
|
9
|
+
def login_using_elem(elem_type, browser_handle, user_prop, user_prop_value, username, pass_prop, pass_prop_value, password, btn_prop, btn_prop_value)
|
10
|
+
browser_handle.text_field(user_prop.intern, user_prop_value).set(username)
|
11
|
+
browser_handle.text_field(pass_prop.intern, pass_prop_value).set(password)
|
12
|
+
(browser_handle.send elem_type, btn_prop.intern, /#{btn_prop_value}/).click
|
13
|
+
end
|
14
|
+
|
8
15
|
#Login using button into an application.
|
9
16
|
def login_using_button(browser_handle, user_prop, user_prop_value, username, pass_prop, pass_prop_value, password, btn_prop, btn_prop_value)
|
10
|
-
|
11
|
-
browser_handle.text_field(pass_prop.intern,pass_prop_value).set(password)
|
12
|
-
browser_handle.button(/#{btn_prop}/.intern, /#{btn_prop_value}/).click
|
17
|
+
login_using_elem("button".to_sym, browser_handle, user_prop, user_prop_value, username, pass_prop, pass_prop_value, password, btn_prop, btn_prop_value)
|
13
18
|
end
|
14
19
|
|
15
20
|
#Login using link into an application.
|
16
21
|
def login_using_link(browser_handle, user_prop, user_prop_value, username, pass_prop, pass_prop_value, password, link_prop, link_prop_value)
|
17
|
-
|
18
|
-
browser_handle.text_field(pass_prop.intern,pass_prop_value).set(password)
|
19
|
-
browser_handle.link(/#{link_prop}/.intern, /#{link_prop_value}/).click
|
22
|
+
login_using_elem("link".to_sym, browser_handle, user_prop, user_prop_value, username, pass_prop, pass_prop_value, password, link_prop, link_prop_value)
|
20
23
|
end
|
21
24
|
|
22
25
|
#Login using image into an application.
|
23
26
|
def login_using_image(browser_handle, user_prop, user_prop_value, username, pass_prop, pass_prop_value, password, img_prop, img_prop_value)
|
24
|
-
|
25
|
-
browser_handle.text_field(pass_prop.intern,pass_prop_value).set(password)
|
26
|
-
browser_handle.image(/#{img_prop}/.intern, /#{img_prop_value}/).click
|
27
|
+
login_using_image("image".to_sym, browser_handle, user_prop, user_prop_value, username, pass_prop, pass_prop_value, password, img_prop, img_prop_value)
|
27
28
|
end
|
28
29
|
|
29
30
|
end
|
@@ -13,12 +13,6 @@ def click_button_popup(title, button_id)
|
|
13
13
|
window.button(:value => /#{button_id}/).click
|
14
14
|
end
|
15
15
|
|
16
|
-
#Pop-up window exists
|
17
|
-
def popup_exists_with_title?(title)
|
18
|
-
window = RAutomation::Window.new(:title => /#{title}/)
|
19
|
-
window.exists?
|
20
|
-
end
|
21
|
-
|
22
16
|
#Click "OK" button on a javascript pop-up.
|
23
17
|
def click_ok_js_popup(title)
|
24
18
|
click_button_popup(title, "OK")
|
@@ -12,12 +12,17 @@ end
|
|
12
12
|
|
13
13
|
#Clear selection from a Select list.
|
14
14
|
def clear_selection_from_select_list(browser_handle, property, property_value)
|
15
|
-
browser_handle.select_list(property.intern, /#{property_value}/).
|
15
|
+
browser_handle.select_list(property.intern, /#{property_value}/).clear
|
16
|
+
end
|
17
|
+
|
18
|
+
#Get selected contents of a Select list.
|
19
|
+
def get_selected_contents_of_select_list(browser_handle, property, property_value)
|
20
|
+
browser_handle.select_list(property.intern, /#{property_value}/).selected_options.map(&:text)
|
16
21
|
end
|
17
22
|
|
18
23
|
#Get all contents of a Select list.
|
19
24
|
def get_all_contents_of_select_list(browser_handle, property, property_value)
|
20
|
-
browser_handle.select_list(property.intern, /#{property_value}/).
|
25
|
+
browser_handle.select_list(property.intern, /#{property_value}/).options.map(&:text)
|
21
26
|
end
|
22
27
|
|
23
28
|
#Highlight or Flash a Select list.
|
@@ -5,6 +5,11 @@ require File.expand_path('common_helpers', File.dirname(__FILE__))
|
|
5
5
|
|
6
6
|
module SpanHelper
|
7
7
|
|
8
|
+
#Click a span element
|
9
|
+
def click_span(browser_handle, property, property_value)
|
10
|
+
browser_handle.span(property.intern, /#{property_value}/).click
|
11
|
+
end
|
12
|
+
|
8
13
|
#Highlight or Flash a span.
|
9
14
|
def flash_span(browser_handle, property, property_value)
|
10
15
|
browser_handle.span(property.intern, /#{property_value}/).flash
|
@@ -15,9 +15,36 @@ def exists_table?(browser_handle, property, property_value)
|
|
15
15
|
browser_handle.table(property.intern, /#{property_value}/).exists?
|
16
16
|
end
|
17
17
|
|
18
|
+
#Get contents of a particular row no. of a table
|
19
|
+
def get_row_contents(browser_handle, property, property_value, row_num)
|
20
|
+
browser_handle.table(property.intern, /#{property_value}/)[row_num - 1].text
|
21
|
+
end
|
22
|
+
|
23
|
+
def get_a_cell_content(browser_handle, property, property_value, row_num, col_num)
|
24
|
+
browser_handle.table(property.intern, /#{property_value}/)[row_num - 1][col_num - 1].text
|
25
|
+
end
|
26
|
+
|
27
|
+
#Get no. of rows of a table
|
28
|
+
def get_nor_table(browser_handle, property, property_value)
|
29
|
+
browser_handle.table(property.intern, /#{property_value}/).rows.length
|
30
|
+
end
|
31
|
+
|
32
|
+
#Get no. of cols of a table
|
33
|
+
def get_noc_table(browser_handle, property, property_value)
|
34
|
+
browser_handle.table(property.intern, /#{property_value}/).row.cells.length
|
35
|
+
end
|
36
|
+
|
18
37
|
#Get the table contents.
|
19
38
|
def get_table_contents(browser_handle, property, property_value)
|
20
|
-
|
39
|
+
content_arr = []
|
40
|
+
nor = get_nor_table(browser_handle, property, property_value)
|
41
|
+
noc = get_noc_table(browser_handle, property, property_value)
|
42
|
+
nor.times do |row_num|
|
43
|
+
noc.times do |col_num|
|
44
|
+
content_arr << browser_handle.table(property.intern, /#{property_value}/)[row_num][col_num].text
|
45
|
+
end
|
46
|
+
end
|
47
|
+
content_arr
|
21
48
|
end
|
22
49
|
|
23
50
|
end
|
@@ -107,12 +107,17 @@ def valid_age?(age)
|
|
107
107
|
is_integer?(age) ? (age > 0 and age <= 100) : age_data_type_format_msg
|
108
108
|
end
|
109
109
|
|
110
|
+
#Print invalid data type msg.
|
111
|
+
def arg_invalid_type_msg(arg_pos, data_type_expected)
|
112
|
+
puts "#{arg_pos} argument should be a #{data_type_expected}."
|
113
|
+
end
|
114
|
+
|
110
115
|
#Valid string and regular expression.
|
111
116
|
def valid_string_and_reg_ex?(char_string, reg_exp)
|
112
117
|
str_flag = is_string?(char_string)
|
113
118
|
regex_flag = is_reg_exp?(reg_exp)
|
114
|
-
|
115
|
-
|
119
|
+
arg_invalid_type_msg("First", "String") unless(str_flag)
|
120
|
+
arg_invalid_type_msg("Second", "Regular Expression") unless(regex_flag)
|
116
121
|
str_flag && regex_flag
|
117
122
|
end
|
118
123
|
|
@@ -120,8 +125,8 @@ end
|
|
120
125
|
def valid_strings?(string1, string2)
|
121
126
|
str1_flag = is_string?(string1)
|
122
127
|
str2_flag = is_string?(string2)
|
123
|
-
|
124
|
-
|
128
|
+
arg_invalid_type_msg("First", "String") unless(str1_flag)
|
129
|
+
arg_invalid_type_msg("Second", "String") unless(str2_flag)
|
125
130
|
str1_flag && str2_flag
|
126
131
|
end
|
127
132
|
|
@@ -132,14 +137,14 @@ end
|
|
132
137
|
#and is_string_contains_reg_exp?("ankurgeragmail.com", /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/)
|
133
138
|
#will return false
|
134
139
|
def is_string_contains_reg_exp?(char_string, reg_exp)
|
135
|
-
(char_string.sub(reg_exp, '**').index('**') ? true : false)
|
140
|
+
(valid_string_and_reg_ex?(char_string, reg_exp) == true) ? (char_string.sub(reg_exp, '**').index('**') ? true : false) : false
|
136
141
|
end
|
137
142
|
|
138
143
|
#Check whether a string contains another string or not.
|
139
144
|
#For e.g is_string_contains_another_string?("abc123@gmail.com", "123@g") will return true
|
140
145
|
#and is_string_contains_another_string?("abc123@gmail.com", "13@g") will return false
|
141
146
|
def is_string_contains_another_string?(char_string, char_set)
|
142
|
-
(char_string.sub(char_set, '**').index('**') ? true : false)
|
147
|
+
(valid_strings?(char_string, char_set) == true) ? (char_string.sub(char_set, '**').index('**') ? true : false) : false
|
143
148
|
end
|
144
149
|
|
145
150
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Browser helper specs" do
|
4
|
+
|
5
|
+
it "Should test browser helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://www.google.com/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
set_textfield(browser, "name", "q", 100)
|
10
|
+
click_button(browser, "name","btnG")
|
11
|
+
puts verify_text?(browser, "100")
|
12
|
+
goto_previous_page(browser)
|
13
|
+
goto_next_page(browser)
|
14
|
+
refresh_the_page(browser)
|
15
|
+
puts "Title is #{get_title(browser)}"
|
16
|
+
puts "Url is #{get_url(browser)}"
|
17
|
+
minimize_browser(browser)
|
18
|
+
close_browser(browser)
|
19
|
+
browser2 = set_browser("ie")
|
20
|
+
goto_page(browser2, "http://www.google.com/")
|
21
|
+
window_handle = attach_browser_window(:title, get_title(browser2))
|
22
|
+
close_attached_window(window_handle)
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Button helper specs" do
|
4
|
+
|
5
|
+
it "Should test button helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://www.google.com/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
click_button(browser, "name","btnG")
|
10
|
+
goto_page(browser, "http://www.google.com/")
|
11
|
+
maximize_browser(browser)
|
12
|
+
click_button_with_popup(browser, "name","btnG")
|
13
|
+
goto_page(browser, "http://www.google.com/")
|
14
|
+
maximize_browser(browser)
|
15
|
+
double_click_button(browser, "name","btnG")
|
16
|
+
goto_page(browser, "http://www.google.com/")
|
17
|
+
maximize_browser(browser)
|
18
|
+
double_click_button_with_popup(browser, "name","btnG")
|
19
|
+
goto_page(browser, "http://www.google.com/")
|
20
|
+
maximize_browser(browser)
|
21
|
+
flash_button(browser, "name","btnG")
|
22
|
+
puts exists_button?(browser, "name","btnG")
|
23
|
+
close_browser(browser)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Checkbox helper specs" do
|
4
|
+
|
5
|
+
it "Should test checkbox helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://codepad.org/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
click_checkbox(browser, "name", "private")
|
10
|
+
puts is_checkbox_checked?(browser, "name", "private")
|
11
|
+
clear_checkbox(browser, "name", "private")
|
12
|
+
puts is_checkbox_checked?(browser, "name", "private")
|
13
|
+
flash_checkbox(browser, "name", "private")
|
14
|
+
puts exists_checkbox?(browser, "name", "private")
|
15
|
+
close_browser(browser)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Data type validations specs" do
|
4
|
+
|
5
|
+
it "Should test data type validations features" do
|
6
|
+
puts is_integer?("100") #false
|
7
|
+
puts is_integer?(100) #true
|
8
|
+
puts is_float?("100.0") #false
|
9
|
+
puts is_float?(100) #false
|
10
|
+
puts is_float?(100.0) #true
|
11
|
+
puts is_string?(100) #false
|
12
|
+
puts is_string?("100") #true
|
13
|
+
puts is_reg_exp?("100") #false
|
14
|
+
puts is_reg_exp?(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) #true
|
15
|
+
puts is_range?((1..9)) #true
|
16
|
+
puts is_range?([1-9]) #false
|
17
|
+
puts is_char?("10") #false
|
18
|
+
puts is_char?("1") #true
|
19
|
+
puts is_char?(1) #true
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Div helper specs" do
|
4
|
+
|
5
|
+
it "Should test div helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://codepad.org/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
click_div(browser, "id", "editor")
|
10
|
+
click_div_with_popup(browser, "id", "editor")
|
11
|
+
double_click_div(browser, "id", "editor")
|
12
|
+
double_click_div_with_popup(browser, "id", "editor")
|
13
|
+
flash_div(browser, "id", "editor")
|
14
|
+
puts exists_div?(browser, "id", "editor")
|
15
|
+
puts get_div_text(browser, "id", "editor")
|
16
|
+
close_browser(browser)
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Frame helper specs" do
|
4
|
+
|
5
|
+
it "Should test frame helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://www.w3schools.com/js/tryit.asp?filename=tryjs_confirm")
|
8
|
+
maximize_browser(browser)
|
9
|
+
click_button_with_popup_inside_frame(browser, "id", "iframeResult", "value", "Try it")
|
10
|
+
click_ok_js_popup("page")
|
11
|
+
puts frame_contains_text?(browser, "id", "iframeResult", "You pressed OK!")
|
12
|
+
click_button_with_popup_inside_frame(browser, "id", "iframeResult", "value", "Try it")
|
13
|
+
click_cancel_js_popup("page")
|
14
|
+
puts frame_contains_text?(browser, "id", "iframeResult", "You pressed Cancel!")
|
15
|
+
close_browser(browser)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Image helper specs" do
|
4
|
+
|
5
|
+
it "Should test image helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://en.wikipedia.org/wiki/Ruby_(programming_language)")
|
8
|
+
maximize_browser(browser)
|
9
|
+
click_image(browser, "alt", "Ruby logo.svg")
|
10
|
+
goto_page(browser, "http://en.wikipedia.org/wiki/Ruby_(programming_language)")
|
11
|
+
click_image_with_popup(browser, "alt", "Ruby logo.svg")
|
12
|
+
goto_page(browser, "http://en.wikipedia.org/wiki/Ruby_(programming_language)")
|
13
|
+
double_click_image(browser, "alt", "Ruby logo.svg")
|
14
|
+
goto_page(browser, "http://en.wikipedia.org/wiki/Ruby_(programming_language)")
|
15
|
+
double_click_image_with_popup(browser, "alt", "Ruby logo.svg")
|
16
|
+
goto_page(browser, "http://en.wikipedia.org/wiki/Ruby_(programming_language)")
|
17
|
+
flash_image(browser, "alt", "Ruby logo.svg")
|
18
|
+
puts exists_image?(browser, "alt", "Ruby logo.svg")
|
19
|
+
close_browser(browser)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Link helper specs" do
|
4
|
+
|
5
|
+
it "Should test link helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://en.wikipedia.org/wiki/Ruby_(programming_language)")
|
8
|
+
maximize_browser(browser)
|
9
|
+
click_link(browser, "title", "Ruby on Rails")
|
10
|
+
goto_page(browser, "http://en.wikipedia.org/wiki/Ruby_(programming_language)")
|
11
|
+
click_link_with_popup(browser, "title", "Ruby on Rails")
|
12
|
+
goto_page(browser, "http://en.wikipedia.org/wiki/Ruby_(programming_language)")
|
13
|
+
flash_link(browser, "title", "Ruby on Rails")
|
14
|
+
puts exists_link?(browser, "title", "Ruby on Rails")
|
15
|
+
close_browser(browser)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Radio helper specs" do
|
4
|
+
|
5
|
+
it "Should test radio helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
login_using_button(browser, "id", "Email", "abc@gmail.com", "id", "Passwd", "xyz", "id", "signIn")
|
10
|
+
puts verify_text?(browser, "The email or password you entered is incorrect")
|
11
|
+
close_browser(browser)
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Popup handling helper specs" do
|
4
|
+
|
5
|
+
it "Should test Popup handling helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://www.w3schools.com/js/tryit.asp?filename=tryjs_confirm")
|
8
|
+
maximize_browser(browser)
|
9
|
+
click_button_with_popup_inside_frame(browser, "id", "iframeResult", "value", "Try it")
|
10
|
+
click_ok_js_popup("page")
|
11
|
+
puts frame_contains_text?(browser, "id", "iframeResult", "You pressed OK!")
|
12
|
+
click_button_with_popup_inside_frame(browser, "id", "iframeResult", "value", "Try it")
|
13
|
+
click_cancel_js_popup("page")
|
14
|
+
puts frame_contains_text?(browser, "id", "iframeResult", "You pressed Cancel!")
|
15
|
+
#Run below code by adding the url(mentioned below) in the secure list
|
16
|
+
# goto_page(browser, "http://www.sublimetext.com/download")
|
17
|
+
# click_link_with_popup(browser, "href", "Setup.exe")
|
18
|
+
# click_save_file_dialog_popup("File Download")
|
19
|
+
# click_save_saveas_popup("Save", "C:\Ruby_Projects")
|
20
|
+
close_browser(browser)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Radio helper specs" do
|
4
|
+
|
5
|
+
it "Should test radio helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://codepad.org/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
click_radio_button(browser, "value", "C++")
|
10
|
+
puts is_radio_button_checked?(browser, "value", "C++")
|
11
|
+
clear_radio_button(browser, "value", "C++")
|
12
|
+
flash_radio_button(browser, "value", "C++")
|
13
|
+
puts exists_radio_button?(browser, "value", "C++")
|
14
|
+
close_browser(browser)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Select list helper specs" do
|
4
|
+
|
5
|
+
it "Should test select list helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://www.cleartrip.com/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
select_from_select_list(browser, "id", "Adults", "2")
|
10
|
+
puts is_value_selected_from_select_list?(browser, "id", "Adults", "2")
|
11
|
+
contents = get_selected_contents_of_select_list(browser, "id", "Adults")
|
12
|
+
puts "=== selected contents are #{contents.inspect} ==="
|
13
|
+
flash_select_list(browser, "id", "Adults")
|
14
|
+
exists_select_list?(browser, "id", "Adults")
|
15
|
+
goto_page(browser, "http://www.htmlcodetutorial.com/forms/_SELECT_MULTIPLE.html")
|
16
|
+
puts "=== all contents are: ==="
|
17
|
+
puts get_all_contents_of_select_list(browser, "name", "toppings")
|
18
|
+
select_from_select_list(browser, "name", "toppings", "onions")
|
19
|
+
select_from_select_list(browser, "name", "toppings", "green peppers")
|
20
|
+
contents = get_selected_contents_of_select_list(browser, "name", "toppings")
|
21
|
+
puts "=== selected contents are #{contents.inspect} ==="
|
22
|
+
puts is_value_selected_from_select_list?(browser, "name", "toppings", "onions")
|
23
|
+
clear_selection_from_select_list(browser, "name", "toppings")
|
24
|
+
close_browser(browser)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Span helper specs" do
|
4
|
+
|
5
|
+
it "Should test span helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://www.cleartrip.com/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
puts exists_span?(browser, "class", "cleartripLogo")
|
10
|
+
flash_span(browser, "class", "cleartripLogo")
|
11
|
+
close_browser(browser)
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Table helper specs" do
|
4
|
+
|
5
|
+
it "Should test table helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://www.textfixer.com/tutorials/css-tables.php")
|
8
|
+
maximize_browser(browser)
|
9
|
+
puts exists_table?(browser, "class", "gridtable")
|
10
|
+
flash_table(browser, "class", "gridtable")
|
11
|
+
puts get_row_contents(browser, "class", "gridtable", 1)
|
12
|
+
puts get_a_cell_content(browser, "class", "gridtable", 1, 1)
|
13
|
+
puts get_nor_table(browser, "class", "gridtable")
|
14
|
+
puts get_noc_table(browser, "class", "gridtable")
|
15
|
+
puts get_table_contents(browser, "class", "gridtable")
|
16
|
+
close_browser(browser)
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Textfield helper specs" do
|
4
|
+
|
5
|
+
it "Should test textfield helper features" do
|
6
|
+
browser = set_browser("ie")
|
7
|
+
goto_page(browser, "http://www.google.com/")
|
8
|
+
maximize_browser(browser)
|
9
|
+
puts "Set textfield contenets."
|
10
|
+
set_textfield(browser, "name", "q", 100)
|
11
|
+
puts "Textfield contents are:"
|
12
|
+
puts get_textfield_contents(browser, "name", "q")
|
13
|
+
puts "Clear textfield contents."
|
14
|
+
clear_textfield(browser, "name", "q")
|
15
|
+
puts "Textfield contents are:"
|
16
|
+
puts get_textfield_contents(browser, "name", "q")
|
17
|
+
puts "Textfield is empty? :"
|
18
|
+
puts is_blank_textfield?(browser, "name", "q")
|
19
|
+
puts "Set textfield contents."
|
20
|
+
set_textfield(browser, "name", "q", 100)
|
21
|
+
puts "Textfield contains the value entered? :"
|
22
|
+
puts textfield_contains_value?(browser, "name", "q", "100")
|
23
|
+
flash_textfield(browser, "name", "q")
|
24
|
+
puts "Textfield exists? :"
|
25
|
+
puts exists_textfield?(browser, "name", "q")
|
26
|
+
close_browser(browser)
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require File.expand_path('../lib/watir_helper.rb', File.dirname(__FILE__))
|
2
|
+
|
3
|
+
describe "Scenario :- Validations helper specs" do
|
4
|
+
|
5
|
+
it "Should test validations helper features" do
|
6
|
+
puts valid_mmddyyyy_date_format?(02-10-2015) #false
|
7
|
+
puts valid_mmddyyyy_date_format?("02-10-2015") #true
|
8
|
+
puts valid_mmddyyyy_date_format?("22-10-2015") #false
|
9
|
+
puts valid_ddmmyyyy_date_format?(10-02-2015) #false
|
10
|
+
puts valid_ddmmyyyy_date_format?("10-02-2015") #true
|
11
|
+
puts valid_ddmmyyyy_date_format?("42-10-2015") #false
|
12
|
+
puts valid_email_id?("abc123@gmail.com") #true
|
13
|
+
puts valid_email_id?("abc123gmail.com") #false
|
14
|
+
puts valid_indian_mobile_number?(9123456789) #false
|
15
|
+
puts valid_indian_mobile_number?("9123456789") #true
|
16
|
+
puts valid_indian_mobile_number?("91234567890") #false
|
17
|
+
puts valid_indian_landline_number?(01303030303) #false
|
18
|
+
puts valid_indian_landline_number?('0130-3030303') #true
|
19
|
+
puts valid_indian_landline_number?('0130-30303030') #false
|
20
|
+
puts valid_age?("100") #false
|
21
|
+
puts valid_age?(-100) #false
|
22
|
+
puts valid_age?(100) #true
|
23
|
+
puts is_string_contains_reg_exp?("ankurgera@gmail.com", /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) #true
|
24
|
+
puts is_string_contains_reg_exp?("ankurgeragmail.com", /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) #false
|
25
|
+
puts is_string_contains_another_string?("abc123@gmail.com", "123@g") #true
|
26
|
+
puts is_string_contains_another_string?("abc123@gmail.com", "13@g") #false
|
27
|
+
puts is_string_contains_reg_exp?("ankurgeragmail.com", "abc") #false
|
28
|
+
puts is_string_contains_another_string?("abc123@gmail.com", /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) #false
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
data/watir_helper.gempsec
CHANGED
@@ -6,7 +6,7 @@ require 'rake/testtask'
|
|
6
6
|
|
7
7
|
spec = Gem::Specification.new do |s|
|
8
8
|
s.name = "watir_helper"
|
9
|
-
s.version = "1.0.
|
9
|
+
s.version = "1.0.3"
|
10
10
|
s.platform = Gem::Platform::RUBY
|
11
11
|
s.authors = ["Ankur Gera"]
|
12
12
|
s.email = "ankurgera@gmail.com"
|
@@ -16,4 +16,7 @@ spec = Gem::Specification.new do |s|
|
|
16
16
|
fast as it is very easy to use.}
|
17
17
|
s.files = %x{git ls-files}.split("\n")
|
18
18
|
s.require_paths = ["lib"]
|
19
|
+
s.add_dependency "watir"
|
20
|
+
s.add_dependency "rautomation"
|
21
|
+
s.add_dependency "rspec"
|
19
22
|
end
|
metadata
CHANGED
@@ -1,15 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ankur Gera
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
12
|
-
dependencies:
|
11
|
+
date: 2015-03-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: watir
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rautomation
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
13
55
|
description: ! "This gem is developed for novice automation tester's to write automation
|
14
56
|
scripts\n fast as it is very easy to use."
|
15
57
|
email: ankurgera@gmail.com
|
@@ -19,6 +61,7 @@ extra_rdoc_files: []
|
|
19
61
|
files:
|
20
62
|
- LICENSE
|
21
63
|
- README
|
64
|
+
- Rakefile
|
22
65
|
- lib/watir_helper.rb
|
23
66
|
- lib/watir_helper/browser_helper.rb
|
24
67
|
- lib/watir_helper/button_helper.rb
|
@@ -38,7 +81,22 @@ files:
|
|
38
81
|
- lib/watir_helper/table_helper.rb
|
39
82
|
- lib/watir_helper/textfield_helper.rb
|
40
83
|
- lib/watir_helper/validations_helper.rb
|
41
|
-
- test/
|
84
|
+
- test/browser_helper_spec.rb
|
85
|
+
- test/button_helper_spec.rb
|
86
|
+
- test/checkbox_helper_spec.rb
|
87
|
+
- test/data_type_validations_spec.rb
|
88
|
+
- test/div_helper_spec.rb
|
89
|
+
- test/frame_helper_spec.rb
|
90
|
+
- test/image_helper_spec.rb
|
91
|
+
- test/link_helper_spec.rb
|
92
|
+
- test/login_helper_spec.rb
|
93
|
+
- test/popup_handling_helper_spec.rb
|
94
|
+
- test/radio_helper_spec.rb
|
95
|
+
- test/select_list_helper_spec.rb
|
96
|
+
- test/span_helper_spec.rb
|
97
|
+
- test/table_helper_spec.rb
|
98
|
+
- test/textfield_helper_spec.rb
|
99
|
+
- test/validations_helper_spec.rb
|
42
100
|
- watir_helper.gempsec
|
43
101
|
homepage: https://rubygems.org/gems/watir_helper
|
44
102
|
licenses: []
|
data/test/test_watir_helper.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require '../lib/watir_helper.rb'
|
2
|
-
|
3
|
-
ie = set_browser("ie")
|
4
|
-
goto_page(ie, "http://www.google.com/")
|
5
|
-
get_title(ie)
|
6
|
-
get_url(ie)
|
7
|
-
flash_div(ie, "id", "hplogo")
|
8
|
-
exists_div?(ie, "id", "hplogo")
|
9
|
-
puts is_blank_textfield?(ie, "name", "q")
|
10
|
-
set_textfield(ie, "name", "q", 100)
|
11
|
-
puts is_blank_textfield?(ie, "name", "q")
|
12
|
-
puts textfield_contains_value?(ie, "name", "q", "100")
|
13
|
-
puts textfield_contains_value?(ie, "name", "q", "101")
|
14
|
-
flash_button(ie, "name","btnG")
|
15
|
-
click_button(ie, "name","btnG")
|
16
|
-
close_browser(ie)
|
17
|
-
|