watir_helper 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjZmMTVjODg2MzI4NTIzOTU0ZmQyNTljNWNhOGNhNmFmNTM3NWM0Yg==
4
+ NWM0OTBmNjVlMGE3Y2I1MjRkMDAzYTg4MzVhZDliNGQwM2IzNWFmNg==
5
5
  data.tar.gz: !binary |-
6
- YzFlZjM5OTNmOTU4MWIxMmFkYmQ5M2FiYTBiN2QyZDhkNmI2MWQ0NQ==
6
+ YmQzZTVjYjZkMTZjYmRjMDljMjhhNmI2ZGNkZjRiODhjMzFlODM0Yw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MjA1YmRjZGZhOTRjNGVmMTUzZGI2ZWJkNzkzMmM1MGY5ODc3MGQ4MmNmNzkw
10
- NmIwMTM1Njg2MWIyODI3ZTQyN2IzN2FmZWIxMWNlY2QxNTgwMjAzYTFlOGEx
11
- NmI4YzlkMWI4ZDYxZDQ3OGVmMTNlNWZjMjc3NDAyMjY2NzNmMmI=
9
+ YTI1MDlmZjQ1YTEwODI4ZTJjM2FjZTkyNGJjMTEyMjJlNWY5ZWJmOTM3N2Vl
10
+ MDAzM2U0ZDNlYjQ1ZTYxMTVmMzk0YTAxYzM4YjEwODIxNzNiYTIyNDM4Y2M2
11
+ NzNhYzc4ZGRhZDgwOGM2NTQ5M2QyZDVkY2JhNjE0Yzg1ZWRlMWU=
12
12
  data.tar.gz: !binary |-
13
- ZWYxZTFjYWM2Yzk0OTIwY2JkMDdjNTFlODAyZjYzODBkMGJlZjc4YTdkYTJm
14
- ZGU3NjA0OTcyNmJiOGY5N2YwZGZjY2IyYzA3MzYxNTkwNzc0MGNlNWYxM2Yz
15
- NmI4NGM0YzFjZWRkMDIxNTYyOTQ5MGZiYzYzZGNkZTViZTRmOWI=
13
+ YWEzZTA0Njk4MGIxNGUxMWFjYTAyMDg1NjI5NjJlMzEzMDU5Y2IxZTZiZDU2
14
+ NDdjM2NiN2FkYTQ1Y2JkYWZiNTdjMjA5M2MwODc4NTc4MjU1NjBiYTQ4YmI4
15
+ MmVkY2NhNTQ3YjEyN2IwOTYyZGJhNTExZDU2ZWQxYTlkZmJjYzI=
@@ -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
- browser_handle.goto(url)
18
+ browser_handle.goto(url)
17
19
  end
18
20
 
19
- #Go to the next page.
20
- def goto_next_page(browser_handle)
21
- browser_handle.forward
21
+ #Go to the previous page.
22
+ def previous_page(browser_handle)
23
+ browser_handle.back
22
24
  end
23
25
 
24
- #Go to the previous page.
25
- def goto_previous_page(browser_handle)
26
- browser_handle.back
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 refresh_the_page(browser_handle)
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
- browser_handle.close
55
+ (Watir.driver == "webdriver") ? browser_handle.close : browser_handle.ie.quit
47
56
  end
48
57
 
49
58
  #Attach a browser window.
50
- def attach_browser(browser_handle, property, property_value)
51
- browser_handle.attach(property.intern, /#{property_value}/)
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 close_attached_browser(browser_handle)
56
- close_browser(browser_handle)
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, text)
71
- browser_handle.text.include?(text)
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
- 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.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
- browser_handle.text_field(user_prop.intern,user_prop_value).set(username)
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
- browser_handle.text_field(user_prop.intern,user_prop_value).set(username)
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}/).clearSelection
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}/).getAllContents
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
- browser_handle.table(property.intern, /#{property_value}/).to_a
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
- puts "First argument should be a String." unless(str_flag)
115
- puts "Second argument should be a Regular Expression." unless(regex_flag)
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
- puts "First argument should be a String." unless(str1_flag)
124
- puts "Second argument should be a String." unless(str2_flag)
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) if(valid_string_and_reg_ex?(char_string, reg_exp))
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) if(valid_strings?(char_string, char_set))
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
@@ -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.2"
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.2
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-02-13 00:00:00.000000000 Z
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/test_watir_helper.rb
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: []
@@ -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
-