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_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_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)”.
- .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
188 189 190 191 192 193 194 195 |
# File 'lib/userextension/user_extension.rb', line 188 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.
139 140 141 142 143 144 |
# File 'lib/userextension/user_extension.rb', line 139 def self. = Time.now = .strftime("%d-%m-%Y-%H-%M-%S") = .to_s return end |
.dob_date(month, year) ⇒ Object
206 207 208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/userextension/user_extension.rb', line 206 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
202 203 204 |
# File 'lib/userextension/user_extension.rb', line 202 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
197 198 199 200 |
# File 'lib/userextension/user_extension.rb', line 197 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.
128 129 130 131 132 133 134 135 |
# File 'lib/userextension/user_extension.rb', line 128 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.
76 77 78 79 |
# File 'lib/userextension/user_extension.rb', line 76 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.
62 63 64 65 |
# File 'lib/userextension/user_extension.rb', line 62 def self.generate_alphanumeric_string(length) str = (1..length).map { rand(36).to_s(36) }.join return str 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_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.
90 91 92 93 |
# File 'lib/userextension/user_extension.rb', line 90 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.
83 84 85 86 |
# File 'lib/userextension/user_extension.rb', line 83 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.
104 105 106 107 |
# File 'lib/userextension/user_extension.rb', line 104 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.
69 70 71 72 |
# File 'lib/userextension/user_extension.rb', line 69 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.
97 98 99 100 |
# File 'lib/userextension/user_extension.rb', line 97 def self.generate_word word = RandomWord.adjs.next return word end |
.init_record ⇒ Object
147 148 149 150 151 152 153 154 155 156 |
# File 'lib/userextension/user_extension.rb', line 147 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
220 221 222 223 224 225 226 227 228 229 |
# File 'lib/userextension/user_extension.rb', line 220 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
159 160 161 162 163 164 165 166 |
# File 'lib/userextension/user_extension.rb', line 159 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
179 180 181 182 183 184 185 186 |
# File 'lib/userextension/user_extension.rb', line 179 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
169 170 171 172 173 174 175 176 |
# File 'lib/userextension/user_extension.rb', line 169 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.
119 120 121 122 123 124 |
# File 'lib/userextension/user_extension.rb', line 119 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.
111 112 113 114 115 |
# File 'lib/userextension/user_extension.rb', line 111 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 |