1. Element locator name should be: **${name-type}: ${add-employee-button}** 2. Action file: - Action will call to locator and define single action based-on locator - In action file, each keyword should do only one action(except special case) 3. Keyword: - Keyword name should have a meaning - Combining multiple actions to a keyword(Keyword will not call to locator directly. It just call to action file only) 4. Testcase: - Combining multiple keywords to create a testcase(Testcase will not call to action or locator directly. It just call to keyword file only) - Test case should follow Gherkin format: - Given - When - Then 5. Core: - If the function/keyword will be used many times/modules. We should define it as a common keyword in core folder - If you want to update keyword in core. Please check be careful before do it(Maybe your change will impact to multiple testcases) 6. Push/Pull code: - In every day morning: please help me from main before you starting write code - If you have many testcase/keyword/api/function,... Please separate them to 2 or 3 or 4 commits. Do not put all of them into one commit 7. Gitlab Merge Request(MR): - Branch name should be clean: It should describe what is your task/module - Title should be clean. It should describe overview what did you do - If you have multiple commits in MR(do not recommend). You should add decribe what are you doing - If MR include 2 more commits. Those commits should define for 1 task. For example: You are working on login module. Your MR should include login testcase/api/keyword/function/locator relate to login only - 5 testcase is maximum in each MR. You do not push a lot of testcase in each MR. It's difficult to review