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

chore(#9483): initial setup of apdex automation in cht-core #9037

Merged
merged 38 commits into from
Aug 30, 2024

Conversation

ralfudx
Copy link
Contributor

@ralfudx ralfudx commented Apr 22, 2024

Description

closes #9483

Code review checklist

  • Readable: Concise, well named, follows the style guide, documented if necessary.
  • Documented: Configuration and user documentation on cht-docs
  • Tested: Unit and/or e2e where appropriate
  • Internationalised: All user facing text
  • Backwards compatible: Works with existing data and configuration or includes a migration. Any breaking changes documented in the release notes.

Compose URLs

If Build CI hasn't passed, these may 404:

License

The software is provided under AGPL-3.0. Contributions to this project are accepted under the same license.

@ralfudx ralfudx requested a review from lorerod April 22, 2024 18:20
@ralfudx ralfudx linked an issue Apr 23, 2024 that may be closed by this pull request
5 tasks
Copy link
Contributor

@lorerod lorerod left a comment

Choose a reason for hiding this comment

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

Hi @ralfudx! I left some comments to chat about. Can you please fix the issues detected on CI?

tests/performance/apdex-score/README.md Show resolved Hide resolved
tests/performance/apdex-score/apk/CHTAndroid.apk Outdated Show resolved Hide resolved
tests/performance/apdex-score/wdio.conf.js Show resolved Hide resolved
@garethbowen garethbowen removed their request for review April 25, 2024 07:23
@ralfudx
Copy link
Contributor Author

ralfudx commented Apr 25, 2024

@lorerod kindly have a second look at this - thanks

Copy link
Member

@dianabarsan dianabarsan left a comment

Choose a reason for hiding this comment

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

Great start!!
Most of my comments are about the code being extremely bespoke, a high amount of duplicate code and slight inconsistencies in selectors, and the liberal use of browser.pause.

I think I'm recommending to:

  • use abstraction layers more to generalize selectors - like moving generic selectors in page.js.
  • reduce the use of hardcoded strings, especially in config-based differentiation. I think the best would be to group the strings somewhere and access them somehow.
  • compact code so we don't have a 1200 line file where more than half are one-line functions. This is very hard to read and review and maintain. Bespoke functions are useful when there is high external reuse. I'm not sure that every one of functions will have such high external reuse to warrant the space it takes.
  • remove pauses, instead figure out what we're waiting for, there is a high change that we can detect if the thing happened from something changes on the screen, and wait for that instead of using a generic pause.

I really like the class based approach, I think this extends really well into my request for abstracting selectors and it looks really clean. Great job there!

tests/performance/apdex-score/test/pageobjects/page.js Outdated Show resolved Hide resolved
tests/performance/apdex-score/test/pageobjects/page.js Outdated Show resolved Hide resolved
tests/performance/apdex-score/test/pageobjects/page.js Outdated Show resolved Hide resolved
tests/performance/apdex-score/test/pageobjects/page.js Outdated Show resolved Hide resolved
@ralfudx
Copy link
Contributor Author

ralfudx commented May 13, 2024

@dianabarsan & @lorerod Thanks for the review and the comments. We intend to make incremental changes by merging smaller PR's to this branch before submitting a final version for review and I'm hoping that all these suggestions/changes requested will be addressed one after the other.
Once again thanks for the great feedback.

@ralfudx
Copy link
Contributor Author

ralfudx commented Jun 19, 2024

Hi @dianabarsan @lorerod All RFC's have been resolved - I'm going ahead to make this a draft for now as we are still making incremental changes to this work from other branches.
Once we complete the baseline tests and commit all the changes into the apdex-automation-tests branch we will reopen this again for a final review
Thanks again for the feedback

@ralfudx ralfudx marked this pull request as draft June 19, 2024 21:12
@latin-panda
Copy link
Contributor

@ralfudx, this PR hasn't had any updates for two weeks.
Does that mean it's ready for review? Can you send it for review again?
Also, please enrich the documentation on how to setup, and how to use it, to easily onboard other teammates on this automation.

@ralfudx ralfudx linked an issue Jul 1, 2024 that may be closed by this pull request
3 tasks
@ralfudx
Copy link
Contributor Author

ralfudx commented Jul 1, 2024

@latin-panda I've just created this task as part of this week's commitments to address this - as previously stated we'll need to merge the modification to capture tasks:refresh telemetry data, clean up the code and then resubmit the PR for review - in the middle of all this, we will also enrich/update the documentation on how to setup as you've recommended.

@ralfudx ralfudx changed the title chore(#101): Initial setup of apdex automation in cht-core chore: initial setup of apdex automation in cht-core Jul 10, 2024
@ralfudx
Copy link
Contributor Author

ralfudx commented Aug 23, 2024

@dianabarsan @lorerod @tatilepizs Thanks for looking at this and dropping your comments. I have implemented the requested changes and this is now ready for another review

@ralfudx ralfudx requested a review from dianabarsan August 27, 2024 17:50
@ralfudx
Copy link
Contributor Author

ralfudx commented Aug 27, 2024

@dianabarsan @lorerod @tatilepizs kindly have a look when you have some time
Thanks

Copy link
Contributor

@tatilepizs tatilepizs 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 to me @ralfudx, than you for all the improvements ⭐

I was just wondering, if you are going to create a separate PR for cht-docs with the all the information maybe you can remove the README.md so you don't have to create another PR in a few days just to remove it 😊

@ralfudx
Copy link
Contributor Author

ralfudx commented Aug 28, 2024

Looks good to me @ralfudx, than you for all the improvements ⭐

I was just wondering, if you are going to create a separate PR for cht-docs with the all the information maybe you can remove the README.md so you don't have to create another PR in a few days just to remove it 😊

Yes @tatilepizs I'll be making a separate PR for the cht-docs (since it's in a different repo) - also I'll be adding another sample settings file for forms similar to the default-config-navigation-test.json in another PR alongside test execution steps in the ReadMe
Thanks for the approval 👍

Copy link
Contributor

@lorerod lorerod left a comment

Choose a reason for hiding this comment

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

Thank you @ralfudx for implementing the suggested feedback.

@ralfudx ralfudx dismissed dianabarsan’s stale review August 28, 2024 20:38

This is already resolved

Copy link
Member

@dianabarsan dianabarsan left a comment

Choose a reason for hiding this comment

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

Looks great! I did notice a couple of small misses.

tests/page-objects/apdex/login.page.js Outdated Show resolved Hide resolved
tests/page-objects/apdex/load.page.js Outdated Show resolved Hide resolved
tests/page-objects/apdex/page.js Outdated Show resolved Hide resolved
tests/page-objects/apdex/page.js Outdated Show resolved Hide resolved
tests/page-objects/apdex/page.js Outdated Show resolved Hide resolved
@ralfudx
Copy link
Contributor Author

ralfudx commented Aug 29, 2024

@dianabarsan I made the requested changes - kindly have a look again thanks

@ralfudx ralfudx requested a review from dianabarsan August 29, 2024 12:25
@ralfudx ralfudx linked an issue Aug 30, 2024 that may be closed by this pull request
3 tasks
@ralfudx ralfudx dismissed dianabarsan’s stale review August 30, 2024 16:07

already addressed

@ralfudx ralfudx merged commit a211a7c into master Aug 30, 2024
44 checks passed
@ralfudx ralfudx deleted the apdex-automation-tests branch August 30, 2024 16:07
@Benmuiruri Benmuiruri changed the title chore: initial setup of apdex automation in cht-core chore(#9483): initial setup of apdex automation in cht-core Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants