Class: UserExtension
- Inherits:
-
Object
- Object
- UserExtension
- Defined in:
- lib/userextension/user_extension.rb
Class Method Summary collapse
- .capture_screenshot(selenium_diver, filename) ⇒ Object
-
.current_timestamp ⇒ Object
Call this function this way “current_timestamp”.
- .dob_date(month, year) ⇒ Object
- .dob_month ⇒ Object
- .dob_year(yrs_old) ⇒ Object
-
.element_present?(how, what) ⇒ Boolean
Call this function this way “element_present?(how, what)”.
-
.generate_address ⇒ Object
Call this function this way “generate_address”.
-
.generate_alphanumeric_string(length) ⇒ Object
Call this function this way “generate_alphanumeric_string(length)”.
- .generate_day(month, year) ⇒ Object
-
.generate_future_date(days) ⇒ Object
Call this function this way “generate_future_date(days)”.
-
.generate_mail_id(length, domain) ⇒ Object
Call this function this way “generate_mail_id(length, domain)”.
- .generate_month ⇒ Object
-
.generate_name(length) ⇒ Object
Call this function this way “generate_name(length)”.
-
.generate_number(minrange, maxrange) ⇒ Object
Call this function this way “generate_number(minrange, maxrange)”.
-
.generate_paragraph ⇒ Object
Call this function this way “generate_paragraph”.
-
.generate_past_date(days) ⇒ Object
Call this function this way “generate_past_date(days)”.
-
.generate_phone_number ⇒ Object
Call this function this way “generate_phone_number”.
-
.generate_sentence ⇒ Object
Call this function this way “generate_sentence”.
-
.generate_street_address ⇒ Object
Call this function this way “generate_street_address”.
-
.generate_string(length) ⇒ Object
Call this function this way “generate_string(length)”.
-
.generate_title ⇒ Object
Call this function this way “generate_title”.
-
.generate_word ⇒ Object
Call this function this way “generate_words(number)”.
- .generate_year(yrs_old) ⇒ Object
- .init_record ⇒ Object
- .load_link(waittime) ⇒ Object
- .record_video_start_capture(headless_obj) ⇒ Object
- .record_video_stop_and_discard(headless_obj) ⇒ Object
- .record_video_stop_and_save(headless_obj, filename) ⇒ Object
-
.write_logs_to_text_file(log_file, logs) ⇒ Object
Call this function this way “write_logs_to_text_file(log_file, logs)”.
-
.write_result_to_csv(report_file, test_id, test_case, result, comment = "") ⇒ Object
Call this function this way “write_result_to_csv(report_file, test_id, test_case, result, comment=”“)”.
Class Method Details
.capture_screenshot(selenium_diver, filename) ⇒ Object
214 215 216 217 218 219 220 221 |
# File 'lib/userextension/user_extension.rb', line 214 def self.capture_screenshot(selenium_diver, filename) browser_name = selenium_diver.capabilities.browser_name unless (browser_name.include? "safari") selenium_diver.save_screenshot filename else puts "#{browser_name} does not support for capturing screenshot !!!" end end |
.current_timestamp ⇒ Object
Call this function this way “current_timestamp”. This function will return the current timestamp.
165 166 167 168 169 170 |
# File 'lib/userextension/user_extension.rb', line 165 def self. = Time.now = .strftime("%d-%m-%Y-%H-%M-%S") = .to_s return end |
.dob_date(month, year) ⇒ Object
232 233 234 235 236 237 238 239 240 241 242 243 244 |
# File 'lib/userextension/user_extension.rb', line 232 def self.dob_date(month, year) if month=='January' || month=='March' || month=='May' || month =='July' || month == 'August' || month=='October' || month == 'December' day = rand(1..31) elsif month== 'Febaury' if ((year % 4 == 0) && !(year % 100 == 0) || (year % 400 == 0)) day = rand(1..29) else day = rand(1..28) end else day = rand(1..30) end end |
.dob_month ⇒ Object
228 229 230 |
# File 'lib/userextension/user_extension.rb', line 228 def self.dob_month month = %w{January February March April May June July August September October November December}.sample end |
.dob_year(yrs_old) ⇒ Object
223 224 225 226 |
# File 'lib/userextension/user_extension.rb', line 223 def self.dob_year(yrs_old) current_year = Time.now.year year= rand(current_year-100..current_year-yrs_old) end |
.element_present?(how, what) ⇒ Boolean
Call this function this way “element_present?(how, what)”. This function will check if the element is present or not.
154 155 156 157 158 159 160 161 |
# File 'lib/userextension/user_extension.rb', line 154 def self.element_present?(how, what) begin $driver.find_element(how, what) return true rescue return false end end |
.generate_address ⇒ Object
Call this function this way “generate_address”. This function will generate a random address and return it.
102 103 104 105 |
# File 'lib/userextension/user_extension.rb', line 102 def self.generate_address address = Faker::Address.secondary_address return address end |
.generate_alphanumeric_string(length) ⇒ Object
Call this function this way “generate_alphanumeric_string(length)”. This function will generate a random alpha-numeric string and return it.
88 89 90 91 |
# File 'lib/userextension/user_extension.rb', line 88 def self.generate_alphanumeric_string(length) str = (1..length).map { rand(36).to_s(36) }.join return str end |
.generate_day(month, year) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/userextension/user_extension.rb', line 71 def self.generate_day(month, year) if month=='January' || month=='March' || month=='May' || month =='July' || month == 'August' || month=='October' || month == 'December' day = rand(1..31) elsif month== 'Febaury' if ((year % 4 == 0) && !(year % 100 == 0) || (year % 400 == 0)) day = rand(1..29) else day = rand(1..28) end else day = rand(1..30) end return day end |
.generate_future_date(days) ⇒ Object
Call this function this way “generate_future_date(days)”. This function will generate a future date and return it.
46 47 48 49 50 |
# File 'lib/userextension/user_extension.rb', line 46 def self.generate_future_date(days) date = Date.strptime(Date.today.to_s) date = date + days return date.strftime("%d-%m-%Y") end |
.generate_mail_id(length, domain) ⇒ Object
Call this function this way “generate_mail_id(length, domain)”. This function will generate a random Yopmail id and return it.
5 6 7 8 |
# File 'lib/userextension/user_extension.rb', line 5 def self.generate_mail_id(length, domain) yopmailid = (1..length).map { ('a'..'z').to_a[rand(26)] }.join+"@"+domain.to_s return yopmailid end |
.generate_month ⇒ Object
66 67 68 69 |
# File 'lib/userextension/user_extension.rb', line 66 def self.generate_month month = %w{January February March April May June July August September October November December}.sample return month end |
.generate_name(length) ⇒ Object
Call this function this way “generate_name(length)”. This function will generate a random name and return it.
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/userextension/user_extension.rb', line 26 def self.generate_name(length) str = (1..length-1).map { ('a'..'z').to_a[rand(26)] }.join str = ('A'..'Z').to_a[rand(26)] + str #str = Faker::Name.first_name #while str.length != length # str = Faker::Name.first_name #end str.capitalize return str end |
.generate_number(minrange, maxrange) ⇒ Object
Call this function this way “generate_number(minrange, maxrange)”. This function will generate a random number and return it.
39 40 41 42 |
# File 'lib/userextension/user_extension.rb', line 39 def self.generate_number(minrange, maxrange) number = rand(minrange..maxrange) return number end |
.generate_paragraph ⇒ Object
Call this function this way “generate_paragraph”. This function will generate a paragraph and return it.
116 117 118 119 |
# File 'lib/userextension/user_extension.rb', line 116 def self.generate_paragraph paragraph = Faker::Lorem.paragraphs.map { |i| i.to_s }.join(" ") return paragraph end |
.generate_past_date(days) ⇒ Object
Call this function this way “generate_past_date(days)”. This function will generate a past date and return it.
54 55 56 57 58 |
# File 'lib/userextension/user_extension.rb', line 54 def self.generate_past_date(days) date = Date.strptime(Date.today.to_s) date = date - days return date.strftime("%d-%m-%Y") end |
.generate_phone_number ⇒ Object
Call this function this way “generate_phone_number”. This function will generate a random phone number and return it.
109 110 111 112 |
# File 'lib/userextension/user_extension.rb', line 109 def self.generate_phone_number phone_number = rand(1000000000..9999999999) return phone_number end |
.generate_sentence ⇒ Object
Call this function this way “generate_sentence”. This function will generate a sentence and return it.
130 131 132 133 |
# File 'lib/userextension/user_extension.rb', line 130 def self.generate_sentence sentence = Faker::Lorem.sentence return sentence end |
.generate_street_address ⇒ Object
Call this function this way “generate_street_address”. This function will generate a random street address and return it.
95 96 97 98 |
# File 'lib/userextension/user_extension.rb', line 95 def self.generate_street_address street_address = Faker::Address.street_address return street_address end |
.generate_string(length) ⇒ Object
Call this function this way “generate_string(length)”. This function will generate a random string and return it.
12 13 14 15 |
# File 'lib/userextension/user_extension.rb', line 12 def self.generate_string(length) str = (1..length).map { ('a'..'z').to_a[rand(26)] }.join return str end |
.generate_title ⇒ Object
Call this function this way “generate_title”. This function will generate a title and return it.
19 20 21 22 |
# File 'lib/userextension/user_extension.rb', line 19 def self.generate_title title = Faker::Name.prefix return title end |
.generate_word ⇒ Object
Call this function this way “generate_words(number)”. This function will generate words and return it.
123 124 125 126 |
# File 'lib/userextension/user_extension.rb', line 123 def self.generate_word word = RandomWord.adjs.next return word end |
.generate_year(yrs_old) ⇒ Object
60 61 62 63 64 |
# File 'lib/userextension/user_extension.rb', line 60 def self.generate_year(yrs_old) current_year = Time.now.year year= rand(current_year-100..current_year-yrs_old) return year end |
.init_record ⇒ Object
173 174 175 176 177 178 179 180 181 182 |
# File 'lib/userextension/user_extension.rb', line 173 def self.init_record() os = RUBY_PLATFORM if os.include? "linux" headless_obj = Headless.new headless_obj.start return headless_obj else puts "#{RUBY_PLATFORM} is not a linux platform !!!" end end |
.load_link(waittime) ⇒ Object
246 247 248 249 250 251 252 253 254 255 |
# File 'lib/userextension/user_extension.rb', line 246 def self.load_link(waittime) begin Timeout::timeout(waittime) do yield end rescue Timeout::Error => e puts "Page load timed out: #{e}" retry end end |
.record_video_start_capture(headless_obj) ⇒ Object
185 186 187 188 189 190 191 192 |
# File 'lib/userextension/user_extension.rb', line 185 def self.record_video_start_capture(headless_obj) os = RUBY_PLATFORM if os.include? "linux" headless_obj.video.start_capture else puts "#{RUBY_PLATFORM} is not a linux platform !!!" end end |
.record_video_stop_and_discard(headless_obj) ⇒ Object
205 206 207 208 209 210 211 212 |
# File 'lib/userextension/user_extension.rb', line 205 def self.record_video_stop_and_discard(headless_obj) os = RUBY_PLATFORM if os.include? "linux" headless_obj.video.stop_and_discard() else puts "#{RUBY_PLATFORM} is not a linux platform !!!" end end |
.record_video_stop_and_save(headless_obj, filename) ⇒ Object
195 196 197 198 199 200 201 202 |
# File 'lib/userextension/user_extension.rb', line 195 def self.record_video_stop_and_save(headless_obj, filename) os = RUBY_PLATFORM if os.include? "linux" headless_obj.video.stop_and_save(filename) else puts "#{RUBY_PLATFORM} is not a linux platform !!!" end end |
.write_logs_to_text_file(log_file, logs) ⇒ Object
Call this function this way “write_logs_to_text_file(log_file, logs)”. This function will write the logs to .log file.
145 146 147 148 149 150 |
# File 'lib/userextension/user_extension.rb', line 145 def self.write_logs_to_text_file(log_file, logs) File.open(log_file, "a") do |txt_file| txt_file.puts logs txt_file.puts "\n" end end |
.write_result_to_csv(report_file, test_id, test_case, result, comment = "") ⇒ Object
Call this function this way “write_result_to_csv(report_file, test_id, test_case, result, comment=”“)”. This function will write the result to .csv file.
137 138 139 140 141 |
# File 'lib/userextension/user_extension.rb', line 137 def self.write_result_to_csv(report_file, test_id, test_case, result, comment="") CSV.open(report_file, "ab") do |csv_file| csv_file << [test_id, test_case, result, comment] end end |