Skip to content

Melinoe is named for the greek mythological figure who is known as a "bringer of nightmares and madness", this seems apt for a automated testing framework

License

Notifications You must be signed in to change notification settings

Goodie01/Melinoe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Melinoe

Java CI with Maven Release

The goal is to provide a testing framework that can cover testing all aspects of a application in a similar method, that can have new components added to it as needed. This could, eventually, extend as far as testing a thick GUI Client.

Melinoë is a chthonic nymph or goddess invoked in one of the Orphic Hymns and represented as a bringer of nightmares and madness. This seems particularly suitable for a testing framework.

Goals and points of difference

In my time I've seen many automation frameworks. I have found that many of them focused on making the inputs as easy to read and digestible as possible. Often leaning in to such paradigms as BDD.

Often this would follow a workflow where testers would write a BDD statement, which developers would then ensure connects to the correct code in the backend. In theory this means that developers only have to fill in the new blocks, and allows for code re-usability and for testers to know what the test was doing. In practice I often found that BDD did not live up to this dream. Statements either became long and coveted, and reusable, or not reusable, and readable.

In my experience the most successful test framework I used was one that focused on making the output as digestible as possible.

With this framework, the suggested workflow is that testers describe what they want the tests to do, and developers are free to write code to do this as they like, and the output is readable by product and project managers, developers, and testers.

Compile and run examples

Requires

  • Java 21
  • Maven 3.5.0+
  • Create a default.properties file in /examples/src/main/resources/default.properties
    • Retry timeouts at a later date will be moved to being overrides instead of requirements
    • Only firefox is currently supported
    • The exe location should be correct for your machine
RETRY_COUNT=5
RETRY_SLEEP_TIME_MS=100
BROWSER=FIREFOX
BROWSER_EXE_LOCATION=C:\\Program Files\\Firefox Nightly\\firefox.exe
git clone [email protected]:Goodie01/Melinoe.git
cd Melinoe
mvn clean install -f framework/pom.xml && mvn clean test -f examples/pom.xml

Goals

  1. Test a web application
  2. Test a REST api
  3. Test that when you perform a action via a rest API or UI, a outgoing request is made
  4. Detailed logs of all success and failures can be seen after a run

Melinoe is being created in at multiphased approach phases

  1. Create framework
    1. Selenium based web testing
    2. Testing a rest API
  2. Think through testing outgoing API requests

Componets

  1. Test library, intended as a java library to be pulled in instead of JUnit, to write intergration tests
  2. Logs reading UI
  3. Outgoing Rest API proxy (This needs a succinct name)

About

Melinoe is named for the greek mythological figure who is known as a "bringer of nightmares and madness", this seems apt for a automated testing framework

Resources

License

Stars

Watchers

Forks

Packages