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

How are you? #1

Open
douglasdcm opened this issue Jan 3, 2025 · 7 comments
Open

How are you? #1

douglasdcm opened this issue Jan 3, 2025 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@douglasdcm
Copy link

Hi, how are you? I'm developing a simple framework to boost our test development speed. I'm asking feedback from the community. I'd appreciate if you toke a look on it and posted your impressions. Thanks a lot for your time! Happy learning! https://github.com/douglasdcm/guara/blob/main/TUTORIAL.md

@Rahat-karim
Copy link
Owner

okay sure

@Rahat-karim
Copy link
Owner

Hi,👋

I hope you’re doing well! I wanted to take a moment to commend you on the testing framework you've developed. It’s clear that a lot of thought and effort went into it, and I appreciate your initiative to enhance test development speed.

I particularly enjoyed the readability of your code. The clear naming conventions for transactions and assertions make it intuitive to follow along. The ability to extend assertions is a fantastic feature that adds flexibility, allowing users to tailor the framework to their needs.

One suggestion I have is to consider adding more built-in assertion strategies. This could help cover a broader range of testing scenarios and make the framework even more robust. Additionally, implementing explicit waits might help address any timing issues that could arise during tests.

Overall, great work! I’m excited to see how your framework evolves. Thank you for sharing it with the community!

Best,
Rahat Karim

@douglasdcm
Copy link
Author

@Rahat-karim thanks a lot for the detailed review. I definitely will consider to add more assertions. I'm just discovering them while using the framework in more complex scenarios. I thought about validations like IsOfType or IsInsideDict, but I need to know if they are useful in real scenarios. I make the assertions extensible to better serve the community demand. Feel free to suggest more assertions if you need them, please. About the explicit waits, the tester has the options to use the default implicit wait or develop the tests using their own waits. Guara is more a design pattern than a tool, so the implementation decisions are still left to testers. Including the web driver can be changed. It is bound to Selenium for convenience, but there are examples here of usage with REST API and Playwright. Thanks again for the feed back. Feel free to open issues and PRs to make project grows!

@Rahat-karim
Copy link
Owner

@douglasdcm Thanks for your detailed response! I really appreciate the flexibility you’ve built into Guara. it’s clear you’re keeping the community’s needs front and center, and that’s always exciting to see in a project like this. After reflecting on your suggestions, I wanted to propose a few alternatives that might offer broader and more practical utility than IsOfType or IsInsideDict.

One idea is to introduce an assertion like HasKeyValue or ContainsKeyValue, which would validate whether a dictionary contains a specific key-value pair. This could be particularly helpful for testing API responses or JSON payloads, simplifying the process for testers dealing with structured data. Another possibility is an assertion called MatchesRegex to validate strings against patterns. This would be incredibly useful for scenarios like verifying email addresses, phone numbers, or other identifiers where formats need to be precise.

For more advanced validation, you could consider IsSubset, which checks whether one list or dictionary is a subset of another. This could be especially useful in cases where partial data validation is required, like comparing expected and actual results in complex datasets. Lastly, IsSorted could serve as a valuable addition for validating whether a list is sorted in ascending or descending order. This would cater to scenarios like testing search results or validating sorted data tables, which are common in many applications.

These are just some ideas that might enhance Guara’s capabilities further while keeping it adaptable to real-world scenarios. I’m really excited to see how the framework evolves over time. If I come across more ideas or get a chance to implement something, I’ll be sure to contribute. Thanks again for inviting feedback and for your dedication to building such a thoughtful tool for the community. Keep up the fantastic work!

Best regards,
Rahat Karim

@douglasdcm
Copy link
Author

Hi @Rahat-karim thanks. I liked the ideas specially because they are useful in real world scenarios. I'll post them in an MR soon and will ask you to review.

@Rahat-karim
Copy link
Owner

okay sure

@Rahat-karim Rahat-karim added the enhancement New feature or request label Jan 10, 2025
@douglasdcm
Copy link
Author

Hi @Rahat-karim thanks again for the review. I pushed this PR with your suggestions. I'll keep it opened for a while so that you can review it. douglasdcm/guara#20

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants