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 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
-