[Akshay_NexusCRM]Migrate framework from Saucedemo to Nexus CRM#2
Open
akshaybokade2426 wants to merge 2 commits intomainfrom
Open
[Akshay_NexusCRM]Migrate framework from Saucedemo to Nexus CRM#2akshaybokade2426 wants to merge 2 commits intomainfrom
akshaybokade2426 wants to merge 2 commits intomainfrom
Conversation
Delete run_tests.py which implemented a local daily test runner: cleaning up old Allure report folders, creating today's allure-results directory and environment.properties, running pytest to generate results, and serving the Allure report. Likely removed because test execution/reporting has been moved to CI or replaced by another tool.
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.
🚀 Port Framework to NexusCRM Application with Comprehensive Infrastructure Improvements
📋 Overview
This PR migrates the entire Selenium test framework from the Saucedemo sample application to the NexusCRM app. It includes significant refactoring of the page object model, test infrastructure, and browser utilities to improve robustness and maintainability.
🔧 Changes
⚙️ Configuration & Credentials
config.yamlto point all environments to the NexusCRM app (https://thinking-tester-contact-list.herokuapp.com/)environment.pyto includeget_email()method replacingget_username()📄 Page Objects
❌ Removed (Saucedemo-specific):
inventory_page.py- Product inventory pagecart_page.py- Shopping cart pagecheckout_step_one_page.py- Checkout user info pagecheckout_step_two_page.py- Checkout overview pagecheckout_complete_page.py- Order confirmation page✨ Added (NexusCRM functionality):
add_contact_page.py- Add new contact form with all contact fieldscontact_details_page.py- View and manage individual contact detailscontact_list_page.py- Display and navigate contact listedit_contact_page.py- Edit existing contact informationsign_up_page.py- User registration page🔄 Refactored:
login_page.py- Updated for email-based authenticationbase_page.py- Major enhancements (see below)🎯 BasePage Refactoring
🏷️ Method Renames:
click() → do_click() send_keys() → do_send_keys() get_text() → get_element_text()
🎨 Enhanced
is_visible()✨ New Helper Methods:
switch_to_frame()select_by_index(),select_by_value(),select_By_VisibleText()hover_to_element(),drag_and_Drop(),contextClick(),doubleClick()switch_to_alert_accept(),switch_to_alert_dismiss(),switch_to_alert_sendKeys()scroll_To_element()📦 Improved Imports
Select,ActionChains🧪 Test Infrastructure
📝
base_test.pyEnhancements:🔗
conftest.pyImprovements:gw0,gw1, etc. for parallel execution)urllib3for connection error handling📂 Test Files
❌ Removed:
test_login.py- Old Saucedemo login teststest_logging_only.py- Utility testsample_data_test.py- Sample parametrized testtest_date_picker.py- Placeholder✨ Added:
test_log_in.py- Login tests for NexusCRM app (successful and failure scenarios)test_add_contact.py- Add contact functionality teststest_delete_contact.py- Delete contact functionality tests📊 Test Data & Utilities
test_urls.yaml- New endpoint mappings for NexusCRM applicationTestData_NexusCRM.xlsx- For test data managementrun_tests.py- Test runner with report cleanup and Allure integrationsetup_framework.py- Adjusted Excel data handling (commented out)📦 Dependencies
allure-python-commons- For enhanced Allure reportingurllib3- For robust connection error handling✅ Testing & Validation
🎁 Benefits
📚 Better Maintainability
💪 Improved Robustness
🌐 Multi-Browser Support
⚡ Parallel Execution
📊 Better Reporting
🔌 Extensibility
Method names in BasePage have changed: