← All Jobs
Posted Feb 28, 2026

Automation Testing - Python, Selenium

Apply Now ✨
We need a experienced Automation Tester to perform the below: 1. Purpose Implement an automated UI testing solution for the web application to improve regression testing efficiency, increase test coverage, and provide reliable quality gates for releases. 2. Scope Automate the following test types for supported browsers: Smoke tests for critical paths (login, core navigation, key transactions). Regression tests for stable, high-value user journeys. Cross-browser checks for supported browser versions. 3. Technology Stack Language: Python 3.x UI Automation: Selenium WebDriver Test Runner: Pytest (preferred) / Unittest (if mandated) Reporting: Allure / Pytest HTML report (must produce readable test evidence) Driver Management: WebDriverManager or equivalent CI/CD Integration: Azure DevOps 4. Framework Design Requirements The automation solution must: Use a Page Object Model (POM) or equivalent design pattern. Support data-driven testing (e.g., CSV/JSON/YAML). Separate test data, locators, and test logic. Include a configuration layer for environment URLs, credentials (secured), timeouts, browser seletion. Provide reusable utility functions (waits, screenshots, logging, element actions). Follow clean coding standards (readable naming, modular structure, minimal duplication). 5. Test Coverage Requirements The automated suite must cover, at minimum: Authentication flows (login/logout, password rules, error messages). Navigation/menu access controls based on roles. Core business workflows (create/update/delete where relevant). Form validations (mandatory fields, boundary values, invalid formats). Search/filter/sort behaviours where applicable. Key UI messages (success/failure notifications). Basic accessibility sanity checks (optional but recommended). 6. Reliability and Maintainability Requirements The suite must: Use explicit waits (no hard-coded sleeps except in rare justified cases). Be resilient to minor UI timing changes (stable locators, synchronisation). Capture screenshots on failure and store browser logs where possible. Have clear tagging/markers (e.g., smoke, regression, critical) to run subsets. Include a documented approach for handling flaky tests (retry strategy + root cause tracking). 7. Execution Requirements Tests must be runnable: Locally on developer machines via a single command (e.g., pytest with options). In CI pipeline with: Parameterised environment selection (Dev/UAT/Prod-like). Headless mode option. Test results and reports published as pipeline artefacts. Support at least: Chrome & Edge (mandatory) Firefox (Optional) 8. Test Data and Access Requirements Test users/roles must be available for automation with controlled permissions. Credentials must be stored securely (secret manager / pipeline secrets), not hard-coded. Test data must be identifiable, repeatable, and cleaned up where relevant. 9. Deliverables You must deliver: Selenium Python automation framework repository (structured and documented). Automated test suite for agreed priority journeys. Execution guide (local + CI). Test report output (HTML/Allure) with evidence capture. Maintenance guide (how to add tests, locator strategy, coding conventions). 10. Acceptance Criteria Smoke suite executes successfully with a pass rate agreed per release gate (e.g., ≥ 95% excluding known issues). Regression suite executes end-to-end in CI with published reports. Framework is documented, maintainable, and can be extended by another engineer with minimal handover. Failures provide actionable evidence (logs + screenshots + clear assertion messages). All the code and the set up configuration should be handover to and the work will be complete only when we are able to reperform automation testing in our environment.