Skip to content

A Powerful Automated Refactoring Toolkit - Created for Ex Libris Automation

Notifications You must be signed in to change notification settings

David-YY-Berger/RefactoringAssistant

Repository files navigation

Refactoring Assistant

A Powerful Automated Refactoring Toolkit - Created for Ex Libris Automation

Short Summary: Utulizing knowledge of Compilers, Operating Systems, and Databases, this toolkit enables my team to refactor thousands of test files easily and responsibly. The selenium based tests must be adapted to the product's new Frontend (Angular - 'ng'), we must create and maintain old test files to check the old product, and new 'ng' test files to check the new frontend. This Readme describes some parts of the toolkit.

Screenshots below

image

Tools

1. Refactor Tests

  • Input: A group of tests (by list of test names, directory path, excel file or csv file)
  • Output: Sorted lists of ng and non ng tests
    • Ng tests - as a text file with testname, testng, server and ng phrase/s found
    • Non ng tests - as xml playlists for Automation Player, organized by Server
    • Automatically creates new ng test files and directories parallel to the src (optional) at new path with new class names

2. Test List Compare

  • Input: 2 groups of tests (by list of test names, directory path, excel or csv file)
  • Output: 3 Lists of tests - tests found in both sources, only source 1, and only source 2. Organized by section found in directory/Excel/CSV

3. Discrepancy Tracker

  • Input: A group of tests (by excel file)
  • Output: For all tests marked as 'passed', saves each discrepancy between the ng and non ng test file (every month)
    • Outputs (.txt) new discrepancies discovered in test files, organized by section, and by function in test file
    • Outputs (.txt) all tests with path or name inconsistent with our coding scheme



Capabilitites

  • Maps relations btw test names, path, content, testng files, and servers
  • Scans test files for key substrings, analyzes results (on large scale)
  • Automatically refactors files and directories without build errors
  • Saves history efficiently, compares current verions, parses Java files by function

Ideas for Expansion

  • Directory Organization: Consistency btw project structure and Test Rail Section
  • Configuration Covering: Ensure that tests check all configurations
    • See list of tests (organized per section), and login institutions
    • Ensure that every section of test rail runs on each Server
    • Ensure Tests use 'Users' and not Exl Impl

Screenshots

The app:
image image image

Output Files - Refactor Tests:

Finding phrases that must be refactored (txt):
image

Discovering incorrect file paths for ng files (txt): image

Playlist to Run Tests Automatically acc to server (xml): image

List Compare:

image

image

Output Files - Discrepancy Tracker:

File containing discrepancies (csv): image

Discrepancies printed by section: image

image

Metric Collection:

image

About

A Powerful Automated Refactoring Toolkit - Created for Ex Libris Automation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages