Public Sector

We've had the pleasure of working with UK and overseas central and local government departments, including Healthcare (NHS and Foundation Trusts), Defence, Education (Universities and colleges), many of the main Civil Service departments, Emergency Services; also public-owned corporations including the BBC, Bank of England, Ordnance Survey, and regulatory bodies such as Ofgem.

We are registered on Crown Commercial Service’s (CCS) Dynamic Purchasing System (RM6219 Training and Learning) and also with numerous tender portals such as Ariba, Coupa and Delta E-Sourcing.

Read more...

Graduate Training Schemes

Framework Training has a strong track record of providing a solid introduction into the working world for technical graduates across myriad industries. We provide the opportunity to learn and gain valuable hands-on experience in a supportive, friendly and sociable training environment.

Attract & retain the brightest new starters

We know it is vital for our clients to invest in the future of their talented grads; not only to provide them with high-quality, professional training essential for their roles, but to embed them within the organisation’s culture and guide them on the right path to a successful career.

After all, your new hires could well be the next leaders and their creative ideas and unique insights are invaluable to your business.

Read more ...

Learning & Development

Our unique portfolio of high-quality technical courses and training programmes are industry-respected. They’re carefully designed so that delegates can seamlessly apply what they’ve learnt back in the workplace. Our team of domain experts, trainers, and support teams know our field — and all things tech — inside out, and we work hard to keep ourselves up to speed with the latest innovations. 

We’re proud to develop and deliver innovative learning solutions that actually work and make a tangible difference to your people and your business, driving through positive lasting change. Our training courses and programmes are human-centred. Everything we do is underpinned by our commitment to continuous improvement and learning and generally making things much better.

Read more...

Corporate & Volume Pricing

Whether you are looking to book multiple places on public scheduled courses (attended remotely or in our training centres in London) or planning private courses for a team within your organisation, we will be happy to discuss preferential pricing which maximise your staff education budget.

Enquire today about:

  • Training programme pricing models  

  • Multi-course voucher schemes

Read more...

Custom Learning Paths

We understand that your team training needs don't always fit into a "one size fits all" mould, and we're very happy to explore ways in which we can tailor a bespoke learning path to fit your learning needs.

Find out about how we can customise everything from short overviews, intensive workshops, and wider training programmes that give you coverage of the most relevant topics based on what your staff need to excel in their roles.

Read more...

Building Maintainable Selenium Test Frameworks

Tailored Selenium WebDriver training for your team's tech stack - create robust, maintainable, and scalable test suites.

About the course

This intensive, hands-on Selenium training provides a comprehensive guide to building a professional-grade test automation framework with Selenium WebDriver. We’ll show you how to leverage this industry-leading open-source tool to create robust, maintainable, and scalable test suites.

You will master the fundamentals of locating web elements, handling dynamic content with wait strategies, and implementing the Page Object Model (POM) for clean, reusable code. The course also covers advanced topics like parallel test execution with Selenium Grid, generating insightful test reports, and integrating your tests into a CI/CD pipeline.

Crucially, all hands-on labs and code examples are tailored to your team's specific technology stack, with options including Java, Python, C#, and JavaScript/TypeScript.

Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.

    • Understand the architecture and core components of Selenium WebDriver and its role in web automation.
    • Set up a Selenium WebDriver project and configure browsers in the customer's chosen programming language (Java, Python, C#, or JavaScript/TypeScript).
    • Master locating and interacting with various types of web elements using different locator strategies and advanced Actions.
    • Implement effective Wait strategies (implicit, explicit, fluent) to handle synchronisation issues in automated tests.
    • Apply the Page Object Model (POM) design pattern to create reusable, readable, and maintainable test automation code in the chosen language.
    • Structure a Selenium test automation framework using appropriate test runners and utility classes in the chosen language.
    • Implement assertions and manage test data within the automation framework in the chosen language.
    • Handle complex web elements such as frames, multiple windows/tabs, and alerts.
    • Understand and leverage Selenium Grid 4 for efficient parallel and distributed test execution.
    • Generate and interpret test reports to communicate test results effectively.
    • Integrate automated Selenium tests into CI/CD pipelines.
    • Apply best practices for writing robust, reliable, and maintainable Selenium WebDriver tests in the chosen language.
  • This 4-day intensive hands-on training course is designed for QA Engineers, Test Automation Engineers, Software Developers, and anyone involved in building and maintaining automated web test frameworks using Selenium WebDriver. It is particularly suitable for teams or individuals who want training delivered specifically in their preferred or existing programming language (Java, Python, C#, or JavaScript/TypeScript) to ensure maximum relevance and immediate applicability. It is ideal for:

    • Automation Engineers building Selenium frameworks who need to learn best practices and advanced techniques.

    • QA professionals transitioning to or expanding their web automation skills.

    • Developers writing UI automation tests for their web applications.

    • Teams adopting or standardising on Selenium WebDriver for web testing in a specific language.

  • Participants should have:

    • Familiarity with web development concepts (HTML, CSS).

    • Proficiency in at least one of the supported programming languages (Java, Python, C#, or JavaScript/TypeScript) is essential, as all code examples and labs will be delivered in the customer's chosen language.

    • Experience using a command-line interface (CLI).

    • Familiarity with the concept of software testing or test automation is beneficial but not strictly required.

    We can customise the training to match your team's experience and needs - with more time and coverage of fundamentals for new starters, for instance.

  • This Selenium test automation course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).

    Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.

  • Introduction to Selenium WebDriver

    • Overview of the Selenium software suite (IDE, WebDriver, Grid).

    • What is Test Automation and its benefits for web applications.

    • What is the difference between Selenium WebDriver and Selenium IDE.

    • Overview of Selenium WebDriver's architecture and core components.

    • Getting your Browsers ready (Chrome, Safari, Firefox, Edge) - setting up WebDriver executables.

    • Lab: Setting up a basic Selenium project in the chosen language and configuring a browser.

    Getting Started with Selenium WebDriver in [Chosen Language]

    • Scripting Selenium using the WebDriver API in the chosen programming language.

    • Basic navigation commands (get(), Maps()).

    • Taking screenshots.

    • Code examples and labs throughout this module will be provided in the customer's chosen language.

    • Lab: Writing and running a simple test script to open a browser, navigate to a page, and take a screenshot.

    Locating and Interacting with Web Elements

    • Understanding the DOM structure.

    • Master common locator strategies:

      • ID, Name, Class Name, Tag Name.

      • Link Text, Partial Link Text.

      • CSS Selectors.

      • XPath (basic to intermediate).

    • Techniques for finding single elements and multiple elements.

    • Interacting with basic web elements (e.g., clicking buttons, typing into text fields, selecting checkboxes/radio buttons).

    • Code examples and labs in the chosen language.

    • Lab: Practicing different locator strategies and interacting with various form elements.

    Handling Synchronisation with Waits

    • Why wait? Understanding synchronisation issues in web automation.

    • Implicit wait.

    • Explicit wait: Using WebDriverWait and expected conditions.

    • Fluent wait (more advanced explicit wait).

    • Best practices for using waits effectively.

    • Code examples and labs in the chosen language.

    • Lab: Implementing various wait strategies to handle dynamic content.

    Advanced User Interactions

    • Types of mouse actions (e.g., hover, right-click, drag and drop).

    • Using the Actions class (or equivalent in the chosen language binding) for complex interactions.

    • Chaining actions together.

    • Code examples and labs in the chosen language.

    • Lab: Implementing advanced mouse actions and chained actions.

    Introducing the Page Object Model (POM)

    • What is the Page Object Model and why is it essential for maintainable automation?

    • Principles of POM: Separating UI interaction code from test logic.

    • Designing Page Objects for your application.

    • Implementing Page Objects in the chosen language.

    • Lab: Refactoring existing test scripts into the Page Object Model.

    Structuring a Selenium Test Automation Framework

    • Overview of test runners suitable for Selenium automation in the chosen language (e.g., TestNG/JUnit for Java, pytest/unittest for Python, NUnit for C#, Mocha/Jest for JavaScript).

    • Setting up a test project structure with a test runner.

    • Using test runner annotations (setup, teardown, test methods).

    • Implementing test suites.

    • Utility classes and helper methods.

    • Code examples and labs in the chosen language.

    • Lab: Structuring a test framework project and creating test suites using a test runner.

    Implementing Assertions and Handling Test Data

    • What are Assertions and why are they critical for testing?

    • Using assertion libraries in the chosen language to verify test outcomes.

    • Strategies for managing Test Data (e.g., inline data, external files like CSV/JSON, data builders).

    • Integrating test data into your tests.

    • Code examples and labs in the chosen language.

    • Lab: Adding assertions to Page Object tests, implementing a simple test data approach.

    Advanced WebDriver Topics

    • Handling Pop-ups and Alerts.

    • Working with Frames (<iframe>).

    • Handling Multiple Windows and Tabs.

    • Performing File Uploads.

    • Executing JavaScript from Selenium.

    • Code examples and labs in the chosen language.

    • Lab: Practicing interactions with frames, windows/tabs, and alerts.

    Running Tests with Selenium Grid 4

    • Getting started with Selenium Grid 4.

    • When to Use a Grid for parallel and distributed testing.

    • Selenium Grid Components (Hub, Nodes).

    • Configuration of Components.

    • Running tests on the Grid.

    • Lab: Setting up a simple Grid and running tests on it.

    Test Reporting and CI/CD Integration

    • The importance of Test Reports for communicating results.

    • Generating test reports (e.g., using test runner reporters like Surefire/Failsafe, or dedicated reporting tools like Allure Reports - overview).

    • Interpreting and using test report data.

    • Overview of CI/CD concepts and the role of automated tests.

    • Integrating automated Selenium tests into CI/CD pipelines (High-level steps and examples for platforms like Jenkins, GitHub Actions, GitLab CI).

    • Handling environment-specific configurations and secrets in CI/CD.

    • Code examples and labs in the chosen language (for reporting setup).

    • Lab: Configuring test reporting for your framework, overview of CI/CD integration steps.

    Best Practices and Troubleshooting

    • Best practices for writing robust, reliable, and maintainable Selenium tests.

    • Common issues and troubleshooting techniques.

    • Debugging Selenium tests (e.g., using IDE debugger).

    • Logging in automated tests.

    • Strategies for continuous improvement of your automation framework.

    • Discussion: Reviewing best practices and troubleshooting common scenarios.

Trusted by

Crown Commercial Service Supplier (CCS) logo CERN organisation logo

Public Courses Dates and Rates

Please get in touch for pricing and availability.

Related courses