Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HPCC-31857 : Develop an automated ECL Watch Test Suite #18898

Merged

Conversation

Nisha-Bagdwal
Copy link
Contributor

@Nisha-Bagdwal Nisha-Bagdwal commented Jul 19, 2024

Developed a testing framework using Java, Selenium, and TestNG. The framework is initiated by TestRunner.java, which loads all test classes listed in config/TestClasses.java and executes them sequentially. Each test class contains at least one method annotated with @Test, which serves as the entry point for the tests. Test cases cover the Activities and ECL Workunit pages, including tests for text presence, link functionality, sorting order, workunits content, description, and checkbox functionality. Added loggers in separate files for error, debug, and detail. Updated YML files to reflect jars and commands for the current testing framework. Additionally, provided comprehensive documentation with UML diagrams and detailed explanations of each method within the classes.

Signed-off-by: Nisha Bagdwal [email protected]

Type of change:

  • This change is a bug fix (non-breaking change which fixes an issue).
  • This change is a new feature (non-breaking change which adds functionality).
  • This change improves the code (refactor or other change that does not change the functionality)
  • This change fixes warnings (the fix does not alter the functionality or the generated code)
  • This change is a breaking change (fix or feature that will cause existing behavior to change).
  • This change alters the query API (existing queries will have to be recompiled)

Checklist:

  • My code follows the code style of this project.
    • My code does not create any new warnings from compiler, build system, or lint.
  • The commit message is properly formatted and free of typos.
    • The commit message title makes sense in a changelog, by itself.
    • The commit is signed.
  • My change requires a change to the documentation.
    • I have updated the documentation accordingly, or...
    • I have created a JIRA ticket to update the documentation.
    • Any new interfaces or exported functions are appropriately commented.
  • I have read the CONTRIBUTORS document.
  • The change has been fully tested:
    • I have added tests to cover my changes.
    • All new and existing tests passed.
    • I have checked that this change does not introduce memory leaks.
    • I have used Valgrind or similar tools to check for potential issues.
  • I have given due consideration to all of the following potential concerns:
    • Scalability
    • Performance
    • Security
    • Thread-safety
    • Cloud-compatibility
    • Premature optimization
    • Existing deployed queries will not be broken
    • This change fixes the problem, not just the symptom
    • The target branch of this pull request is appropriate for such a change.
  • There are no similar instances of the same problem that should be addressed
    • I have addressed them here
    • I have raised JIRA issues to address them separately
  • This is a user interface / front-end modification
    • I have tested my changes in multiple modern browsers
    • The component(s) render as expected

Smoketest:

  • Send notifications about my Pull Request position in Smoketest queue.
  • Test my draft Pull Request.

Testing:

I tested the code locally manually.

@AttilaVamos AttilaVamos requested review from AttilaVamos and cloLN July 22, 2024 13:21
Copy link
Contributor

@cloLN cloLN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer if your directories were more generalized. just replace your username with something like yourusername.


for GitHub Actions -> /home/runner/HPCCSystems-regression/log/

for local machine -> C:/Users/nisha/Documents/Internship/Work/files/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you should probably remove all of your specific user names in this commit. I would prefer if it said C:/Users/yourusername/yourworkingdirectory/files/ or something like that. Try to be as generic as possible for the next person that will use this information.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I agree with you. I have made the change.

public static final String LOG_FILE_DEBUG = "debug_ecl_test.log";
public static final String LOG_FILE_DETAIL = "detail_ecl_test.log";
public static final String LOCAL_OS = "Windows";
public static final String LOCAL_USER_PROFILE = "C:\\Users\\nisha";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same comment as previous. try to generalize usernames and such.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor

@AttilaVamos AttilaVamos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions.

@AttilaVamos AttilaVamos requested review from AttilaVamos and cloLN July 26, 2024 21:52
Copy link
Contributor

@cloLN cloLN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes look good to me.

Copy link
Contributor

@AttilaVamos AttilaVamos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only a couple of small comments, questions.
If any change has larger impact than modify the code in the current file, please discuss it with me before change.

Copy link
Contributor

@AttilaVamos AttilaVamos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good.
Please squash it.

@Nisha-Bagdwal Nisha-Bagdwal force-pushed the HPCC-31857-ECL-Watch-Test-Suite branch 3 times, most recently from 06f20f0 to 44eef9c Compare August 1, 2024 13:34
@Nisha-Bagdwal Nisha-Bagdwal marked this pull request as ready for review August 1, 2024 13:39
@Nisha-Bagdwal
Copy link
Contributor Author

@ghalliday Please merge my pull request.

@AttilaVamos
Copy link
Contributor

@JamesDeFabia Can you please take a look for the documentations:

  • esp/src/test-ui/tests/framework/README.md
  • esp/src/test-ui/tests/framework/SetupForDev.md
  • esp/src/test-ui/tests/framework/documentation/DesignDocument.md

Copy link
Contributor

@JamesDeFabia JamesDeFabia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only a couple of minor comments inline.

esp/src/test-ui/tests/framework/SetupForDev.md Outdated Show resolved Hide resolved
Developed a testing framework using Java, Selenium, and TestNG. The framework is initiated by `TestRunner.java`, which loads all test classes listed in `config/TestClasses.java` and executes them sequentially. Each test class contains at least one method annotated with `@Test`, which serves as the entry point for the tests. Test cases cover the Activities and ECL Workunit pages, including tests for text presence, link functionality, sorting order, workunits content, description, and checkbox functionality and testing tab clicks. Added loggers in separate files for error, exception, debug, and detail. Updated YML files to reflect jars and commands for the current testing framework. Additionally, provided comprehensive documentation with UML diagrams and detailed explanations of each method within the classes.

Signed-off-by: Nisha Bagdwal <[email protected]>
@Nisha-Bagdwal Nisha-Bagdwal force-pushed the HPCC-31857-ECL-Watch-Test-Suite branch from 4372fde to 4dde180 Compare August 2, 2024 15:40
Copy link
Contributor

@JamesDeFabia JamesDeFabia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good from my POV

@ghalliday ghalliday merged commit 5481afd into hpcc-systems:master Aug 8, 2024
51 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants