Implement Search Module with Data-Driven Pytest Automation and BaseAction Enhancements#45
Merged
Conversation
Rishwanth-Adhishwar
approved these changes
Jun 14, 2026
Rishwanth-Adhishwar
left a comment
Collaborator
There was a problem hiding this comment.
Viewed Your Changes And Ready to merge
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Details
PR Information
Team Information
Related Issue
Fixes #
Closes #
Summary
Implemented the Search module for the Pytest automation framework.
This includes the search locators page, search action class, Excel test data file,
and three fully parametrised test scenarios converted from BDD Cucumber —
keyword search, no-result search, and manufacturer filter validation.
BaseAction was also updated with additional reusable Selenium helper methods.
Detailed Changes
Added
pages/search_locators.py— XPath locators for search bar, result cards, no-results message, and manufacturer labelactions/search_action.py— Search action class with keyword entry, result validation, no-result message checks, and manufacturer verificationdata_provider/SearchProduct.xlsx— Excel test data file with keyword and manufacturer columns (iMac/Apple, Canon/Canon, HP/Hewlett-Packard)tests/test_search.py— Three pytest test functions covering keyword search, no-result search, and manufacturer filter scenarios with logger integrationModified
actions/base_action.py— Addedfind_elements(),clear(),get_input_value(),get_elements_text(),dismiss_alert_if_present(),scroll_into_view(),move_slider(), andis_present()helper methodsutils/excelReader.py— UpdatedSEARCH_EXCEL_PATHconstant to point todata_provider/SearchProduct.xlsxRemoved
Refactored
Type of Change
Testing Performed
Pytest Execution
Browsers Tested
Evidence
Attach screenshots, logs, videos, reports, or execution results if applicable.
Configuration Changes
Impact Analysis
Affected Modules:
Potential Risks:
Rollback Plan:
tests/test_search.py,actions/search_action.py, andpages/search_locators.py— no changes to shared infrastructure beyond additive BaseAction methodsChecklist
Code Quality
Testing
Documentation
CI/CD
Reviewer Notes
test_manufacturer_filter_search) reads keyword and expected manufacturer fromSearchProduct.xlsx— ensure the sheet tab name matchesSEARCH_SHEETconstant intest_search.pyKiot,ffgok) are hardcoded in the test as they are intentional negative cases, not data-drivenlogs/logs.logat every test step — check logs for detailed execution traceFinal Approval