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