taf 0.3.7 → 0.3.8
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 +4 -4
- data/bin/taf +23 -2
- data/lib/taf.rb +48 -0
- data/lib/taf/browser.rb +103 -0
- data/lib/taf/cmd_line.rb +74 -0
- data/lib/taf/create_directories.rb +53 -0
- data/lib/taf/json_parser.rb +48 -0
- data/lib/taf/junit_report.rb +73 -0
- data/lib/taf/my_log.rb +21 -0
- data/lib/taf/parser.rb +37 -0
- data/lib/taf/report.rb +110 -0
- data/lib/taf/report_summary.rb +56 -0
- data/lib/taf/screenshot.rb +30 -0
- data/lib/taf/test_engine.rb +82 -0
- data/lib/taf/test_steps.rb +38 -0
- data/lib/taf/test_steps/handlers/base.rb +90 -0
- data/lib/taf/test_steps/handlers/base/browser_back.rb +21 -0
- data/lib/taf/test_steps/handlers/base/browser_forward.rb +21 -0
- data/lib/taf/test_steps/handlers/base/browser_open.rb +21 -0
- data/lib/taf/test_steps/handlers/base/browser_quit.rb +21 -0
- data/lib/taf/test_steps/handlers/base/browser_refresh.rb +21 -0
- data/lib/taf/test_steps/handlers/base/capture_alert.rb +22 -0
- data/lib/taf/test_steps/handlers/base/check_box.rb +22 -0
- data/lib/taf/test_steps/handlers/base/check_boxdata.rb +35 -0
- data/lib/taf/test_steps/handlers/base/check_browser_title.rb +21 -0
- data/lib/taf/test_steps/handlers/base/check_logs.rb +25 -0
- data/lib/taf/test_steps/handlers/base/check_screendata.rb +23 -0
- data/lib/taf/test_steps/handlers/base/check_url.rb +22 -0
- data/lib/taf/test_steps/handlers/base/click_button.rb +33 -0
- data/lib/taf/test_steps/handlers/base/execute_system_command.rb +23 -0
- data/lib/taf/test_steps/handlers/base/handle_browser_window.rb +23 -0
- data/lib/taf/test_steps/handlers/base/ipause.rb +21 -0
- data/lib/taf/test_steps/handlers/base/list_all_dropdowns_values.rb +23 -0
- data/lib/taf/test_steps/handlers/base/login.rb +59 -0
- data/lib/taf/test_steps/handlers/base/open_url.rb +22 -0
- data/lib/taf/test_steps/handlers/base/ping_test.rb +27 -0
- data/lib/taf/test_steps/handlers/base/radio_button.rb +24 -0
- data/lib/taf/test_steps/handlers/base/select_dropdown.rb +24 -0
- data/lib/taf/test_steps/handlers/base/send_special_keys.rb +22 -0
- data/lib/taf/test_steps/handlers/base/write_box_data.rb +35 -0
- data/lib/taf/version.rb +5 -0
- metadata +41 -43
- data/lib/functions/handlers.rb +0 -6
- data/lib/functions/handlers/base_handler.rb +0 -91
- data/lib/functions/handlers/browser_back.rb +0 -21
- data/lib/functions/handlers/browser_forward.rb +0 -21
- data/lib/functions/handlers/browser_quit.rb +0 -21
- data/lib/functions/handlers/browser_refresh.rb +0 -21
- data/lib/functions/handlers/capture_alert.rb +0 -22
- data/lib/functions/handlers/check_box.rb +0 -21
- data/lib/functions/handlers/check_boxdata.rb +0 -35
- data/lib/functions/handlers/check_browser_title.rb +0 -21
- data/lib/functions/handlers/check_logs.rb +0 -23
- data/lib/functions/handlers/check_screendata.rb +0 -21
- data/lib/functions/handlers/check_url.rb +0 -22
- data/lib/functions/handlers/click_button.rb +0 -33
- data/lib/functions/handlers/execute_system_command.rb +0 -23
- data/lib/functions/handlers/handle_browser_window.rb +0 -23
- data/lib/functions/handlers/ipause.rb +0 -21
- data/lib/functions/handlers/list_all_dropdowns_values.rb +0 -23
- data/lib/functions/handlers/login.rb +0 -59
- data/lib/functions/handlers/open_url.rb +0 -35
- data/lib/functions/handlers/ping_test.rb +0 -27
- data/lib/functions/handlers/radio_button.rb +0 -22
- data/lib/functions/handlers/select_dropdown.rb +0 -24
- data/lib/functions/handlers/send_special_keys.rb +0 -22
- data/lib/functions/handlers/write_box_data.rb +0 -35
- data/lib/main.rb +0 -31
- data/lib/parser/json_parser.rb +0 -50
- data/lib/parser/parser.rb +0 -49
- data/lib/report/junit_report.rb +0 -74
- data/lib/report/report.rb +0 -116
- data/lib/report/report_summary.rb +0 -53
- data/lib/taf_config.rb +0 -46
- data/lib/utils/browser.rb +0 -98
- data/lib/utils/cmd_line.rb +0 -71
- data/lib/utils/create_directories.rb +0 -50
- data/lib/utils/exceptions.rb +0 -7
- data/lib/utils/logger.rb +0 -21
- data/lib/utils/screenshot.rb +0 -30
- data/lib/utils/test_engine.rb +0 -77
- data/lib/utils/test_steps.rb +0 -38
- data/lib/version.rb +0 -21
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Open URL function.
         | 
| 7 | 
            +
                  class OpenUrl < Base
         | 
| 8 | 
            +
                    register :open_url
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      url = if ENV[@value]
         | 
| 12 | 
            +
                              ENV[@value.to_s]
         | 
| 13 | 
            +
                            else
         | 
| 14 | 
            +
                              @value
         | 
| 15 | 
            +
                            end
         | 
| 16 | 
            +
                      Taf::Browser.b.goto(url)
         | 
| 17 | 
            +
                      true
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
            end
         | 
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Png Test function.
         | 
| 7 | 
            +
                  class PingTest < Base
         | 
| 8 | 
            +
                    register :ping_test
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    # TODO: retry every 'x' until timeout reached.
         | 
| 11 | 
            +
                    def perform
         | 
| 12 | 
            +
                      check = Net::Ping::HTTP.new(@value)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                      check.ping?
         | 
| 15 | 
            +
                      sleep 5
         | 
| 16 | 
            +
                      if check.ping?
         | 
| 17 | 
            +
                        Taf::MyLog.log.info("pinged: #{@value}")
         | 
| 18 | 
            +
                        return true
         | 
| 19 | 
            +
                      else
         | 
| 20 | 
            +
                        Taf::MyLog.log.warn("Failed to ping: #{@value}")
         | 
| 21 | 
            +
                        return false
         | 
| 22 | 
            +
                      end
         | 
| 23 | 
            +
                    end
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
            end
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Radio Button function.
         | 
| 7 | 
            +
                  class RadioButton < Base
         | 
| 8 | 
            +
                    register :radio_button
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.radio("#{@locate}": @value).wait_until(&:exists?)
         | 
| 12 | 
            +
                      Taf::Browser.b
         | 
| 13 | 
            +
                                  .radio("#{@locate}": @value, "#{@locate2}": @value2.to_s)
         | 
| 14 | 
            +
                                  .set
         | 
| 15 | 
            +
                      Taf::MyLog.log.info("Radio button: #{@value2} has been selected")
         | 
| 16 | 
            +
                      true
         | 
| 17 | 
            +
                    rescue StandardError
         | 
| 18 | 
            +
                      Taf::MyLog.log.warn("Radio button: #{@value2} does not exist")
         | 
| 19 | 
            +
                      false
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Select Dropdown function.
         | 
| 7 | 
            +
                  class SelectDropdown < Base
         | 
| 8 | 
            +
                    register :select_dropdown
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      ele = Taf::Browser.b.select_list("#{@locate}": @value)
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                      ele.wait_until(&:exists?)
         | 
| 14 | 
            +
                      ele.option("#{@locate2}": @value2.to_s).select
         | 
| 15 | 
            +
                      Taf::MyLog.log.info("Dropdown item: #{@value2} has been selected")
         | 
| 16 | 
            +
                      true
         | 
| 17 | 
            +
                    rescue StandardError
         | 
| 18 | 
            +
                      Taf::MyLog.log.warn("Dropdown item: #{@value2} has NOT been selected")
         | 
| 19 | 
            +
                      false
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Send a Special Key function.
         | 
| 7 | 
            +
                  class SendSpecialKeys < Base
         | 
| 8 | 
            +
                    register :send_special_keys
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.send_keys :"#{@value}"
         | 
| 12 | 
            +
                      sleep 1
         | 
| 13 | 
            +
                      Taf::MyLog.log.info("Browser Sent key: :#{@value} successfully")
         | 
| 14 | 
            +
                      true
         | 
| 15 | 
            +
                    rescue StandardError
         | 
| 16 | 
            +
                      Taf::MyLog.log.warn("Browser Failed to Send key: :#{@value}")
         | 
| 17 | 
            +
                      false
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
            end
         | 
| @@ -0,0 +1,35 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Write box data function.
         | 
| 7 | 
            +
                  class WriteBoxdata < Base
         | 
| 8 | 
            +
                    register :write_box_data
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      txt = @value2
         | 
| 12 | 
            +
                      txt = ENV[txt.to_s] if ENV[txt.to_s]
         | 
| 13 | 
            +
                      elms = %i[textarea text_field iframe]
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                      found_box = elms.map do |elm|
         | 
| 16 | 
            +
                        Taf::Browser.b.send(elm, "#{@locate}": @value).exists?
         | 
| 17 | 
            +
                      end.compact
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                      raise 'Multiple matches' if found_box.select { |i| i }.empty?
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                      index = found_box.index(true)
         | 
| 22 | 
            +
                      return unless index
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                      Taf::Browser.b.send(elms[index], "#{@locate}": @value)
         | 
| 25 | 
            +
                                  .wait_until(&:exists?).send_keys txt
         | 
| 26 | 
            +
                      Taf::MyLog.log.info("Textbox: #{@value} has correct value: #{txt}")
         | 
| 27 | 
            +
                      true
         | 
| 28 | 
            +
                    rescue StandardError
         | 
| 29 | 
            +
                      Taf::MyLog.log.warn("Textbox: #{@value} does not exist")
         | 
| 30 | 
            +
                      false
         | 
| 31 | 
            +
                    end
         | 
| 32 | 
            +
                  end
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
              end
         | 
| 35 | 
            +
            end
         | 
    
        data/lib/taf/version.rb
    ADDED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: taf
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.3. | 
| 4 | 
            +
              version: 0.3.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Andy Perrett
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2019- | 
| 11 | 
            +
            date: 2019-06-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -173,47 +173,45 @@ extensions: [] | |
| 173 173 | 
             
            extra_rdoc_files: []
         | 
| 174 174 | 
             
            files:
         | 
| 175 175 | 
             
            - bin/taf
         | 
| 176 | 
            -
            - lib/ | 
| 177 | 
            -
            - lib/ | 
| 178 | 
            -
            - lib/ | 
| 179 | 
            -
            - lib/ | 
| 180 | 
            -
            - lib/ | 
| 181 | 
            -
            - lib/ | 
| 182 | 
            -
            - lib/ | 
| 183 | 
            -
            - lib/ | 
| 184 | 
            -
            - lib/ | 
| 185 | 
            -
            - lib/ | 
| 186 | 
            -
            - lib/ | 
| 187 | 
            -
            - lib/ | 
| 188 | 
            -
            - lib/ | 
| 189 | 
            -
            - lib/ | 
| 190 | 
            -
            - lib/ | 
| 191 | 
            -
            - lib/ | 
| 192 | 
            -
            - lib/ | 
| 193 | 
            -
            - lib/ | 
| 194 | 
            -
            - lib/ | 
| 195 | 
            -
            - lib/ | 
| 196 | 
            -
            - lib/ | 
| 197 | 
            -
            - lib/ | 
| 198 | 
            -
            - lib/ | 
| 199 | 
            -
            - lib/ | 
| 200 | 
            -
            - lib/ | 
| 201 | 
            -
            - lib/ | 
| 202 | 
            -
            - lib/ | 
| 203 | 
            -
            - lib/ | 
| 204 | 
            -
            - lib/ | 
| 205 | 
            -
            - lib/ | 
| 206 | 
            -
            - lib/ | 
| 207 | 
            -
            - lib/ | 
| 208 | 
            -
            - lib/ | 
| 209 | 
            -
            - lib/ | 
| 210 | 
            -
            - lib/ | 
| 211 | 
            -
            - lib/ | 
| 212 | 
            -
            - lib/ | 
| 213 | 
            -
            - lib/ | 
| 214 | 
            -
            - lib/ | 
| 215 | 
            -
            - lib/utils/test_steps.rb
         | 
| 216 | 
            -
            - lib/version.rb
         | 
| 176 | 
            +
            - lib/taf.rb
         | 
| 177 | 
            +
            - lib/taf/browser.rb
         | 
| 178 | 
            +
            - lib/taf/cmd_line.rb
         | 
| 179 | 
            +
            - lib/taf/create_directories.rb
         | 
| 180 | 
            +
            - lib/taf/json_parser.rb
         | 
| 181 | 
            +
            - lib/taf/junit_report.rb
         | 
| 182 | 
            +
            - lib/taf/my_log.rb
         | 
| 183 | 
            +
            - lib/taf/parser.rb
         | 
| 184 | 
            +
            - lib/taf/report.rb
         | 
| 185 | 
            +
            - lib/taf/report_summary.rb
         | 
| 186 | 
            +
            - lib/taf/screenshot.rb
         | 
| 187 | 
            +
            - lib/taf/test_engine.rb
         | 
| 188 | 
            +
            - lib/taf/test_steps.rb
         | 
| 189 | 
            +
            - lib/taf/test_steps/handlers/base.rb
         | 
| 190 | 
            +
            - lib/taf/test_steps/handlers/base/browser_back.rb
         | 
| 191 | 
            +
            - lib/taf/test_steps/handlers/base/browser_forward.rb
         | 
| 192 | 
            +
            - lib/taf/test_steps/handlers/base/browser_open.rb
         | 
| 193 | 
            +
            - lib/taf/test_steps/handlers/base/browser_quit.rb
         | 
| 194 | 
            +
            - lib/taf/test_steps/handlers/base/browser_refresh.rb
         | 
| 195 | 
            +
            - lib/taf/test_steps/handlers/base/capture_alert.rb
         | 
| 196 | 
            +
            - lib/taf/test_steps/handlers/base/check_box.rb
         | 
| 197 | 
            +
            - lib/taf/test_steps/handlers/base/check_boxdata.rb
         | 
| 198 | 
            +
            - lib/taf/test_steps/handlers/base/check_browser_title.rb
         | 
| 199 | 
            +
            - lib/taf/test_steps/handlers/base/check_logs.rb
         | 
| 200 | 
            +
            - lib/taf/test_steps/handlers/base/check_screendata.rb
         | 
| 201 | 
            +
            - lib/taf/test_steps/handlers/base/check_url.rb
         | 
| 202 | 
            +
            - lib/taf/test_steps/handlers/base/click_button.rb
         | 
| 203 | 
            +
            - lib/taf/test_steps/handlers/base/execute_system_command.rb
         | 
| 204 | 
            +
            - lib/taf/test_steps/handlers/base/handle_browser_window.rb
         | 
| 205 | 
            +
            - lib/taf/test_steps/handlers/base/ipause.rb
         | 
| 206 | 
            +
            - lib/taf/test_steps/handlers/base/list_all_dropdowns_values.rb
         | 
| 207 | 
            +
            - lib/taf/test_steps/handlers/base/login.rb
         | 
| 208 | 
            +
            - lib/taf/test_steps/handlers/base/open_url.rb
         | 
| 209 | 
            +
            - lib/taf/test_steps/handlers/base/ping_test.rb
         | 
| 210 | 
            +
            - lib/taf/test_steps/handlers/base/radio_button.rb
         | 
| 211 | 
            +
            - lib/taf/test_steps/handlers/base/select_dropdown.rb
         | 
| 212 | 
            +
            - lib/taf/test_steps/handlers/base/send_special_keys.rb
         | 
| 213 | 
            +
            - lib/taf/test_steps/handlers/base/write_box_data.rb
         | 
| 214 | 
            +
            - lib/taf/version.rb
         | 
| 217 215 | 
             
            homepage: https://github.com/Aperrett/TAF
         | 
| 218 216 | 
             
            licenses:
         | 
| 219 217 | 
             
            - MIT
         | 
    
        data/lib/functions/handlers.rb
    DELETED
    
    
| @@ -1,91 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            # Base Hanfer file to contain all shared login functions
         | 
| 4 | 
            -
            module TestSteps
         | 
| 5 | 
            -
              require_relative '../../taf_config.rb'
         | 
| 6 | 
            -
              module Handlers
         | 
| 7 | 
            -
                # All Login functions function.
         | 
| 8 | 
            -
                class Base
         | 
| 9 | 
            -
                  def initialize(step_attributes)
         | 
| 10 | 
            -
                    @value =  step_attributes[:testvalue]
         | 
| 11 | 
            -
                    @value2 = step_attributes[:testvalue2]
         | 
| 12 | 
            -
                    @locate = step_attributes[:locate]
         | 
| 13 | 
            -
                    @locate2 = step_attributes[:locate2]
         | 
| 14 | 
            -
                  end
         | 
| 15 | 
            -
             | 
| 16 | 
            -
                  def self.register(name)
         | 
| 17 | 
            -
                    TestSteps.handlers[name.to_s] = self
         | 
| 18 | 
            -
                  end
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                  def self.perform(*args)
         | 
| 21 | 
            -
                    new(*args).perform
         | 
| 22 | 
            -
                  end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                  def open_url_process(url)
         | 
| 25 | 
            -
                    Browser.open_browser
         | 
| 26 | 
            -
                    Browser.b.goto(url)
         | 
| 27 | 
            -
                  end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                  def login_process(b_title, user_elm, pass_elm, user, pass)
         | 
| 30 | 
            -
                    if Browser.b.title.eql?(b_title)
         | 
| 31 | 
            -
                      Browser.b.text_field(id: user_elm).wait_until(&:exists?).set user
         | 
| 32 | 
            -
                      Browser.b.text_field(id: pass_elm).wait_until(&:exists?).set pass
         | 
| 33 | 
            -
                      button = 'Sign in' || 'Log in'
         | 
| 34 | 
            -
                      Browser.b.button(value: button).wait_until(&:exists?).click
         | 
| 35 | 
            -
                      sleep 1
         | 
| 36 | 
            -
                    else
         | 
| 37 | 
            -
                      MyLog.log.warn("User: #{user} has failed to log in.")
         | 
| 38 | 
            -
                    end
         | 
| 39 | 
            -
                  end
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                  def login_check(b_title_sucess, user)
         | 
| 42 | 
            -
                    if Browser.b.title.eql?(b_title_sucess)
         | 
| 43 | 
            -
                      MyLog.log.info("User: #{user} has logged in successful.")
         | 
| 44 | 
            -
                      true
         | 
| 45 | 
            -
                    else
         | 
| 46 | 
            -
                      MyLog.log.warn("User: #{user} has failed to log in.")
         | 
| 47 | 
            -
                      false
         | 
| 48 | 
            -
                    end
         | 
| 49 | 
            -
                  end
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                  def mem_word_check(user, b_title_sucess)
         | 
| 52 | 
            -
                    if Browser.b.title.eql?('Memorable word')
         | 
| 53 | 
            -
                      portal_mem_word(user, b_title_sucess)
         | 
| 54 | 
            -
                    elsif Browser.b.title.eql?(b_title_sucess)
         | 
| 55 | 
            -
                      MyLog.log.info("User: #{user} has logged in successful.")
         | 
| 56 | 
            -
                      true
         | 
| 57 | 
            -
                    else
         | 
| 58 | 
            -
                      MyLog.log.warn("User: #{user} has failed to log in.")
         | 
| 59 | 
            -
                      false
         | 
| 60 | 
            -
                    end
         | 
| 61 | 
            -
                  end
         | 
| 62 | 
            -
             | 
| 63 | 
            -
                  def portal_mem_word(user, b_title_sucess)
         | 
| 64 | 
            -
                    password = ENV['PORTAL_MEM']
         | 
| 65 | 
            -
                    nums = (1..256).to_a
         | 
| 66 | 
            -
                    found_mem_nums = nums.each_with_object([]) do |num_val, mem_word|
         | 
| 67 | 
            -
                      elm_id = "user_memorable_parts_#{num_val}"
         | 
| 68 | 
            -
                      mem_word.push(num_val) if Browser.b.select(id: elm_id).exist?
         | 
| 69 | 
            -
                    end.compact
         | 
| 70 | 
            -
             | 
| 71 | 
            -
                    array_password = password.split('')
         | 
| 72 | 
            -
                    array_password.map!(&:upcase)
         | 
| 73 | 
            -
             | 
| 74 | 
            -
                    found_mem_nums.each do |mem_num|
         | 
| 75 | 
            -
                      char = array_password[(mem_num - 1)]
         | 
| 76 | 
            -
                      elm_id = "user_memorable_parts_#{mem_num}"
         | 
| 77 | 
            -
                      Browser.b.select_list(id: elm_id).option(value: char.to_s).select
         | 
| 78 | 
            -
                    end
         | 
| 79 | 
            -
             | 
| 80 | 
            -
                    Browser.b.button(value: 'Sign in').wait_until(&:exists?).click
         | 
| 81 | 
            -
                    if Browser.b.title.eql?(b_title_sucess)
         | 
| 82 | 
            -
                      MyLog.log.info("User: #{user} has logged in successful.")
         | 
| 83 | 
            -
                      return true
         | 
| 84 | 
            -
                    else
         | 
| 85 | 
            -
                      MyLog.log.warn("User: #{user} has failed to log in.")
         | 
| 86 | 
            -
                      return false
         | 
| 87 | 
            -
                    end
         | 
| 88 | 
            -
                  end
         | 
| 89 | 
            -
                end
         | 
| 90 | 
            -
              end
         | 
| 91 | 
            -
            end
         | 
| @@ -1,21 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require_relative 'base_handler'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module TestSteps
         | 
| 6 | 
            -
              module Handlers
         | 
| 7 | 
            -
                # Browser Back function.
         | 
| 8 | 
            -
                class BrowserBack < Base
         | 
| 9 | 
            -
                  register :browser_back
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  def perform
         | 
| 12 | 
            -
                    Browser.b.back
         | 
| 13 | 
            -
                    MyLog.log.info('Browser navigated back')
         | 
| 14 | 
            -
                    true
         | 
| 15 | 
            -
                  rescue StandardError
         | 
| 16 | 
            -
                    MyLog.log.warn('Browser failed to navigate back')
         | 
| 17 | 
            -
                    false
         | 
| 18 | 
            -
                  end
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
            end
         | 
| @@ -1,21 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require_relative 'base_handler'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module TestSteps
         | 
| 6 | 
            -
              module Handlers
         | 
| 7 | 
            -
                # Browser Forward function.
         | 
| 8 | 
            -
                class BrowserForward < Base
         | 
| 9 | 
            -
                  register :browser_forward
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  def perform
         | 
| 12 | 
            -
                    Browser.b.forward
         | 
| 13 | 
            -
                    MyLog.log.info('Browser navigated forward')
         | 
| 14 | 
            -
                    true
         | 
| 15 | 
            -
                  rescue StandardError
         | 
| 16 | 
            -
                    MyLog.log.warn('Browser failed to navigate forward')
         | 
| 17 | 
            -
                    false
         | 
| 18 | 
            -
                  end
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
            end
         | 
| @@ -1,21 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require_relative 'base_handler'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module TestSteps
         | 
| 6 | 
            -
              module Handlers
         | 
| 7 | 
            -
                # Browser Quit function.
         | 
| 8 | 
            -
                class BrowserQuit < Base
         | 
| 9 | 
            -
                  register :browser_quit
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  def perform
         | 
| 12 | 
            -
                    Browser.b.quit
         | 
| 13 | 
            -
                    MyLog.log.info('Browser has closed successfully')
         | 
| 14 | 
            -
                    true
         | 
| 15 | 
            -
                  rescue StandardError
         | 
| 16 | 
            -
                    MyLog.log.warn('Browser has failed to close')
         | 
| 17 | 
            -
                    false
         | 
| 18 | 
            -
                  end
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
            end
         | 
| @@ -1,21 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require_relative 'base_handler'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module TestSteps
         | 
| 6 | 
            -
              module Handlers
         | 
| 7 | 
            -
                # Browser Refresh function.
         | 
| 8 | 
            -
                class BrowserRefresh < Base
         | 
| 9 | 
            -
                  register :browser_refresh
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  def perform
         | 
| 12 | 
            -
                    Browser.b.refresh
         | 
| 13 | 
            -
                    MyLog.log.info('The Browser has been refreshed')
         | 
| 14 | 
            -
                    true
         | 
| 15 | 
            -
                  rescue StandardError
         | 
| 16 | 
            -
                    MyLog.log.warn('The Browser failed to refresh')
         | 
| 17 | 
            -
                    false
         | 
| 18 | 
            -
                  end
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
            end
         |