Module: CreateDirectories
- Defined in:
- lib/utils/create_directories.rb
Overview
Created on 20 Sept 2017 @author: Andy Perrett
Versions: 1.0 - Baseline
create_directories.rb - Creates folder structures.
Class Method Summary collapse
-
.construct_projectdirs ⇒ Object
create the project directories and open the test results file, returns the screenshot directory name, the screenshot will be placed in a unique filename based upon the testStep.
- .construct_testspecdirs ⇒ Object
Class Method Details
.construct_projectdirs ⇒ Object
create the project directories and open the test results file, returns the screenshot directory name, the screenshot will be placed in a unique filename based upon the testStep. A single top-level directory named after the Project ID will be used and the target sub-directories will be created for each run of the test
—-> Project directory (working directory)
——->directory named after the test run number
———->directory named after test_id (with browser type identified)
————->directory named ‘Screenshots’
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/utils/create_directories.rb', line 25 def self.construct_projectdirs # create top-level 'Results' directory if it doesn't already exist result_home = 'Results' Dir.mkdir(result_home) unless File.directory? result_home # create the 'Project' directory if it doesn't already exist project_id = $projectId.delete(' ') $project_iddir = result_home + '/' + project_id Dir.mkdir($project_iddir) unless File.directory? $project_iddir # the test suite summary is a XML report generated will be called 'suite_summary.xml' time = Time.new f_date = time.strftime('%d-%b-%Y') f_time = time.strftime('%H_%M_%S') $TestSuiteSummaryXML = 'Results/' + $projectId + '/' + f_date + '_' + f_time + '_test_result.xml' end |
.construct_testspecdirs ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/utils/create_directories.rb', line 43 def self.construct_testspecdirs time = Time.new f_date = time.strftime('%d-%b-%Y') f_time = time.strftime('%H_%M_%S') $runNoDir = $project_iddir + '/' + 'Ran_on_' + f_date + '_' + f_time Dir.mkdir($runNoDir) # create directories for each test spec # create a sub-directory named from the 'testId' (with any spaces taken out) # if it doesn't already exist plus the browser type testid_dir = $runNoDir + '/' + $testId.delete(' ') + '_' + $browserType.capitalize Dir.mkdir(testid_dir) unless File.directory? testid_dir # create a screenshot directory under the 'testId' directory - it will always need creating screenshot_dir = testid_dir + '/' + 'Screenshots' + '/' Dir.mkdir(screenshot_dir) # create absolute paths to the screenshots and test suite summary directories abs_path_screenshot_dir = File.absolute_path(screenshot_dir) # if any issues then set error message and re-raise the exception rescue StandardError => error # construct the error message from custom text and the actual system error message (converted to a string) error_to_display = 'Error creating the test directory structure or opening the test results file : ' + error.to_s raise error_to_display else # if no exception then return the screenshot file directory path abs_path_screenshot_dir end |