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,21 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Browser Back function.
         | 
| 7 | 
            +
                  class BrowserBack < Base
         | 
| 8 | 
            +
                    register :browser_back
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.back
         | 
| 12 | 
            +
                      Taf::MyLog.log.info('Browser navigated back')
         | 
| 13 | 
            +
                      true
         | 
| 14 | 
            +
                    rescue StandardError
         | 
| 15 | 
            +
                      Taf::MyLog.log.warn('Browser failed to navigate back')
         | 
| 16 | 
            +
                      false
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Browser Forward function.
         | 
| 7 | 
            +
                  class BrowserForward < Base
         | 
| 8 | 
            +
                    register :browser_forward
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.forward
         | 
| 12 | 
            +
                      Taf::MyLog.log.info('Browser navigated forward')
         | 
| 13 | 
            +
                      true
         | 
| 14 | 
            +
                    rescue StandardError
         | 
| 15 | 
            +
                      Taf::MyLog.log.warn('Browser failed to navigate forward')
         | 
| 16 | 
            +
                      false
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Browser Open function.
         | 
| 7 | 
            +
                  class BrowserOpen < Base
         | 
| 8 | 
            +
                    register :browser_open
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.open_browser
         | 
| 12 | 
            +
                      Taf::MyLog.log.info('Browser has opened successfully')
         | 
| 13 | 
            +
                      true
         | 
| 14 | 
            +
                    rescue StandardError
         | 
| 15 | 
            +
                      Taf::MyLog.log.warn('Browser has failed to open')
         | 
| 16 | 
            +
                      false
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Browser Quit function.
         | 
| 7 | 
            +
                  class BrowserQuit < Base
         | 
| 8 | 
            +
                    register :browser_quit
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.quit
         | 
| 12 | 
            +
                      Taf::MyLog.log.info('Browser has closed successfully')
         | 
| 13 | 
            +
                      true
         | 
| 14 | 
            +
                    rescue StandardError
         | 
| 15 | 
            +
                      Taf::MyLog.log.warn('Browser has failed to close')
         | 
| 16 | 
            +
                      false
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Browser Refresh function.
         | 
| 7 | 
            +
                  class BrowserRefresh < Base
         | 
| 8 | 
            +
                    register :browser_refresh
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.refresh
         | 
| 12 | 
            +
                      Taf::MyLog.log.info('The Browser has been refreshed')
         | 
| 13 | 
            +
                      true
         | 
| 14 | 
            +
                    rescue StandardError
         | 
| 15 | 
            +
                      Taf::MyLog.log.warn('The Browser failed to refresh')
         | 
| 16 | 
            +
                      false
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Capture Alert function.
         | 
| 7 | 
            +
                  class CaptureAlert < Base
         | 
| 8 | 
            +
                    register :capture_alert
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.div(class: 'alert').exist?
         | 
| 12 | 
            +
                      alertmsg = Taf::Browser.b.div(class: 'alert').text
         | 
| 13 | 
            +
                      Taf::MyLog.log.info("Alert shown: #{alertmsg}")
         | 
| 14 | 
            +
                      true
         | 
| 15 | 
            +
                    rescue StandardError
         | 
| 16 | 
            +
                      Taf::MyLog.log.warn('No Alert Found')
         | 
| 17 | 
            +
                      false
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
            end
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Check Box function.
         | 
| 7 | 
            +
                  class CheckBox < Base
         | 
| 8 | 
            +
                    register :check_box
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.checkbox("#{@locate}": @value).wait_until(&:exists?)
         | 
| 12 | 
            +
                                  .click
         | 
| 13 | 
            +
                      Taf::MyLog.log.info("Check box: #{@value} has been selected")
         | 
| 14 | 
            +
                      true
         | 
| 15 | 
            +
                    rescue StandardError
         | 
| 16 | 
            +
                      Taf::MyLog.log.warn("Check box: #{@value} does not exist")
         | 
| 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 | 
            +
                  # Check Box Data function.
         | 
| 7 | 
            +
                  class CheckBoxdata < Base
         | 
| 8 | 
            +
                    register :check_box_data
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      elms = %i[textarea text_field iframe]
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                      found_box = elms.map do |elm|
         | 
| 14 | 
            +
                        Taf::Browser.b.send(elm, "#{@locate}": @value).exists?
         | 
| 15 | 
            +
                      end.compact
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                      raise 'Multiple matches' if found_box.select { |i| i }.empty?
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                      index = found_box.index(true)
         | 
| 20 | 
            +
                      return unless index
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                      ele = Taf::Browser.b.send(elms[index], "#{@locate}": @value)
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                      ele.wait_until(&:exists?)
         | 
| 25 | 
            +
                      (ele.value == @value2)
         | 
| 26 | 
            +
                      Taf::MyLog.log.info("Textbox: #{@value} has correct value: #{value2}")
         | 
| 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
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Check Browser Title function.
         | 
| 7 | 
            +
                  class CheckTitle < Base
         | 
| 8 | 
            +
                    register :check_browser_title
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.wait_until { Taf::Browser.b.title.eql? @value }
         | 
| 12 | 
            +
                      Taf::MyLog.log.info("Browser title: #{@value}")
         | 
| 13 | 
            +
                      true
         | 
| 14 | 
            +
                    rescue StandardError
         | 
| 15 | 
            +
                      Taf::MyLog.log.warn("Title not found: #{@value}")
         | 
| 16 | 
            +
                      false
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Check a log file function.
         | 
| 7 | 
            +
                  class CheckLogs < Base
         | 
| 8 | 
            +
                    register :check_log_file
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      result = system 'egrep -i ' + @value + ' ' + @value2 + ' > ' + output
         | 
| 12 | 
            +
                      if result == true
         | 
| 13 | 
            +
                        Taf::MyLog.log.info \
         | 
| 14 | 
            +
                          "Data has matched: #{@value} in LogFile: #{@value2}"
         | 
| 15 | 
            +
                        return true
         | 
| 16 | 
            +
                      else
         | 
| 17 | 
            +
                        Taf::MyLog.log.warn \
         | 
| 18 | 
            +
                          "Problem finding: #{@value} in LogFile: #{@value2}"
         | 
| 19 | 
            +
                        return false
         | 
| 20 | 
            +
                      end
         | 
| 21 | 
            +
                    end
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Check Screendata text function.
         | 
| 7 | 
            +
                  class CheckScreendata < Base
         | 
| 8 | 
            +
                    register :check_screen_data
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.wait_until do
         | 
| 12 | 
            +
                        Taf::Browser.b.element.text.include? @value
         | 
| 13 | 
            +
                      end
         | 
| 14 | 
            +
                      Taf::MyLog.log.info("Text found: #{@value}")
         | 
| 15 | 
            +
                      true
         | 
| 16 | 
            +
                    rescue StandardError
         | 
| 17 | 
            +
                      Taf::MyLog.log.warn("Text not found: #{@value}")
         | 
| 18 | 
            +
                      false
         | 
| 19 | 
            +
                    end
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Check URL function.
         | 
| 7 | 
            +
                  class CheckUrl < Base
         | 
| 8 | 
            +
                    register :check_url
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      if Taf::Browser.b.url == @value
         | 
| 12 | 
            +
                        Taf::MyLog.log.info("URL: #{@value} is correct")
         | 
| 13 | 
            +
                        true
         | 
| 14 | 
            +
                      else
         | 
| 15 | 
            +
                        Taf::MyLog.log.warn("URL: #{@value} is incorrect")
         | 
| 16 | 
            +
                        false
         | 
| 17 | 
            +
                      end
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
            end
         | 
| @@ -0,0 +1,33 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Click Button function.
         | 
| 7 | 
            +
                  class ClickButton < Base
         | 
| 8 | 
            +
                    register :click_button
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      elms = %i[button span a div link image h1 h2 h3 h4]
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                      found_button = elms.map do |elm|
         | 
| 14 | 
            +
                        Taf::Browser.b.send(elm, "#{@locate}": @value).exists?
         | 
| 15 | 
            +
                      end.compact
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                      raise 'Multiple matches' if found_button.select { |i| i }.empty?
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                      index = found_button.index(true)
         | 
| 20 | 
            +
                      return unless index
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                      Taf::Browser.b.send(elms[index], "#{@locate}": @value)
         | 
| 23 | 
            +
                                  .wait_until(&:exists?).click
         | 
| 24 | 
            +
                      Taf::MyLog.log.info("Button: #{@value} has been selected")
         | 
| 25 | 
            +
                      true
         | 
| 26 | 
            +
                    rescue StandardError
         | 
| 27 | 
            +
                      Taf::MyLog.log.warn("Button: #{@value} does not exist")
         | 
| 28 | 
            +
                      false
         | 
| 29 | 
            +
                    end
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
              end
         | 
| 33 | 
            +
            end
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Execute System Command function.
         | 
| 7 | 
            +
                  class ExecuteSystemCommand < Base
         | 
| 8 | 
            +
                    register :execute_system_command
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      b_result = system @value
         | 
| 12 | 
            +
                      if b_result == true
         | 
| 13 | 
            +
                        Taf::MyLog.log.info("Cmd has been executed sucessfully #{@value}")
         | 
| 14 | 
            +
                        return true
         | 
| 15 | 
            +
                      else
         | 
| 16 | 
            +
                        Taf::MyLog.log.warn("Theres a problem executing command #{@value}")
         | 
| 17 | 
            +
                        return false
         | 
| 18 | 
            +
                      end
         | 
| 19 | 
            +
                    end
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Handle Browser Window function.
         | 
| 7 | 
            +
                  class HandleBrowserWindow < Base
         | 
| 8 | 
            +
                    register :handle_browser_window
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.window(title: @value.to_s).use
         | 
| 12 | 
            +
                      sleep 3
         | 
| 13 | 
            +
                      Taf::Browser.b.title.eql?(@value.to_s)
         | 
| 14 | 
            +
                      Taf::MyLog.log.info("Window title: #{@value} is correct")
         | 
| 15 | 
            +
                      true
         | 
| 16 | 
            +
                    rescue StandardError
         | 
| 17 | 
            +
                      Taf::MyLog.log.warn("Window not found: #{@value}")
         | 
| 18 | 
            +
                      false
         | 
| 19 | 
            +
                    end
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Pause the test function.
         | 
| 7 | 
            +
                  class Ipause < Base
         | 
| 8 | 
            +
                    register :ipause
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      sleep(@value.to_i)
         | 
| 12 | 
            +
                      Taf::MyLog.log.info('Wait completed for seconds: ' + @value.to_s)
         | 
| 13 | 
            +
                      true
         | 
| 14 | 
            +
                    rescue StandardError
         | 
| 15 | 
            +
                      Taf::MyLog.log.warn('Wait failed for seconds: ' + @value.to_s)
         | 
| 16 | 
            +
                      false
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # List all Dropdown Values function.
         | 
| 7 | 
            +
                  class ListAllDropdownValues < Base
         | 
| 8 | 
            +
                    register :list_all_dropdown_values
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      Taf::Browser.b.element("#{@locate}": @value).wait_until(&:exists?)
         | 
| 12 | 
            +
                      Taf::Browser.b.select_list("#{@locate}": @value).options.each do |i|
         | 
| 13 | 
            +
                        Taf::MyLog.log.info("List of dropdown for #{@value} are: #{i.text}")
         | 
| 14 | 
            +
                        return true
         | 
| 15 | 
            +
                      end
         | 
| 16 | 
            +
                    rescue StandardError
         | 
| 17 | 
            +
                      Taf::MyLog.log.warn("List dropdown: #{@value} does not exist")
         | 
| 18 | 
            +
                      false
         | 
| 19 | 
            +
                    end
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| @@ -0,0 +1,59 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Taf
         | 
| 4 | 
            +
              module TestSteps
         | 
| 5 | 
            +
                module Handlers
         | 
| 6 | 
            +
                  # Logins function.
         | 
| 7 | 
            +
                  class Login < Base
         | 
| 8 | 
            +
                    register :login
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def perform
         | 
| 11 | 
            +
                      user = @value2
         | 
| 12 | 
            +
                      user = ENV[user.to_s] if ENV[user.to_s]
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                      login_user(user)
         | 
| 15 | 
            +
                    rescue StandardError
         | 
| 16 | 
            +
                      Taf::MyLog.log.error "unable to find login: #{@value}"
         | 
| 17 | 
            +
                      raise Taf::LoginTypeFailed
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                    def login_user(user)
         | 
| 21 | 
            +
                      case @value.downcase
         | 
| 22 | 
            +
                      when 'portal_login'
         | 
| 23 | 
            +
                        portal_login(user)
         | 
| 24 | 
            +
                      when 'sso_login'
         | 
| 25 | 
            +
                        sso_login(user)
         | 
| 26 | 
            +
                      end
         | 
| 27 | 
            +
                    end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                    private
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                    def portal_login(user)
         | 
| 32 | 
            +
                      url = ENV['PORTAL_URL']
         | 
| 33 | 
            +
                      pass = ENV['PORTAL_USER_PASS']
         | 
| 34 | 
            +
                      b_title = 'Log in'
         | 
| 35 | 
            +
                      b_title_sucess = 'Home'
         | 
| 36 | 
            +
                      user_elm = 'user_email'
         | 
| 37 | 
            +
                      pass_elm = 'user_password'
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                      Taf::Browser.b.goto(url)
         | 
| 40 | 
            +
                      login_process(b_title, user_elm, pass_elm, user, pass)
         | 
| 41 | 
            +
                      mem_word_check(user, b_title_sucess)
         | 
| 42 | 
            +
                    end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                    def sso_login(user)
         | 
| 45 | 
            +
                      pass = ENV['SSO_USER_PASS']
         | 
| 46 | 
            +
                      # b_title = 'Log in to rh-sso'
         | 
| 47 | 
            +
                      # b_title_sucess = 'RHS-SSO Admin Console'
         | 
| 48 | 
            +
                      b_title = ''
         | 
| 49 | 
            +
                      b_title_sucess = ''
         | 
| 50 | 
            +
                      user_elm = 'username'
         | 
| 51 | 
            +
                      pass_elm = 'password'
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                      login_process(b_title, user_elm, pass_elm, user, pass)
         | 
| 54 | 
            +
                      login_check(b_title_sucess, user)
         | 
| 55 | 
            +
                    end
         | 
| 56 | 
            +
                  end
         | 
| 57 | 
            +
                end
         | 
| 58 | 
            +
              end
         | 
| 59 | 
            +
            end
         |