I have been doing automation for websites and mobile apps since last year. I am using Java,Selenium webdriver, and TestNG.
Now I have one big project to do automation and I would like to first set its proper structure in terms of programming such as packages,utility,classes, etc. and need and expert who can help me here.
Project description is given below :
1 - It is something like find candidates, employers. 2 - Search jobs by consultant team and contact candidates. 3 - Diff. Role there like Admin,HR,Data entry operator,Manager. Every role has diff. permissions like Function which HR can access maybe data entry operator cannot.
So I want to know how I can define an automation structure for it?
I am thinking like :
1 - Create packages of all diff. Roles
2 - Create all global methods in utility package. Ex:login, register
3 - Create methods role-wise as per role packages
4 - There are many diff. modules also.
So in future if any other testers want to continue scripting then they can understand above structure easily and can find particular module code easily.
Can anyone suggest to me things to improve above structure? Or a good model to follow?