I have an end-to-end test project done in pure Selenium implementing Page Object Model. The thing is, I'm dabbling in Behave to add specificity to test cases based on business requirements. I would like to know if there is a way to implement or organize a project in such a way that it is scalable and easy to maintain. I have tirelessly searched through many GitHub projects and none were modular. I'm not looking for direct answers, just some ideas or if someone has tried to do something similar to what I'm raising as a topic of discussion.

Thank you very much in advance for reading

1 Answer 1


Implementing the Page Object Model (POM) in combination with Behave can help structure your end-to-end test project in a scalable and maintainable manner.

Here are some steps that can be followed to implement POM with Behave:

  1. Create a folder structure: Create separate folders for each module in your application and place the respective POM class files in each folder.

  2. Create Page Classes: For each page in your application, create a separate Page Class. The class should contain all the web elements and their respective locators of the page along with the methods to interact with them.

  3. Create Step Definition Classes: For each feature file in Behave, create a separate Step Definition Class. The class should contain the implementation of each step in the feature file, using the respective Page Classes.

  4. Implement Re-usability: To make your code more maintainable, you can implement re-usability by creating methods that perform common actions across multiple pages. You can add these methods in a Base Class, which can be extended by each Page Class.

  5. Use Config Files: Use config files to store details such as URL, browser details, etc., which can be accessed by the Step Definition Classes. This will make it easier to update these details without having to modify the code.

By following these steps, you can create a modular, scalable and maintainable end-to-end test project, implementing POM with Behave. Additionally, make sure to follow best practices for writing clean, readable and efficient code.

  • This is true useful information, thanks it will help me to guide projects.
    – VSacudato
    Jan 31 at 19:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.