---
# System prepended metadata

title: TAIT AUTOMATION TESTING

---

# TAIT AUTOMATION TESTING 

### Test Scope

1. UI testing(**In progress**)
2. API testing(**To do**)
3. Performance testing(**To do**)
4. Security testing(**To do**)

### Tech Stack

- We are using the below stacks to convert manual testcase to automation testcase:
  - Robot framework
  - Selenium
  - Python
- Repository and CI/CD pipeline, we are using Gitlab to store the automation code and build a pipeline process to run the testcase and show the report.
  - Gitlab
  - Docker
  - Nginx

### Code Structure

![Uploading file..._8mn4i7uit]()



### Running Testcase

- Because portal have a lot of testcase so we need to run test suites parallel to save time. We separate portal as a module to help running parallel easily
- After all test cases run completed, we exports the result as HTLM and XML format
- We will combine the result into markdown file to show:
  - How many testcases is run?
  - What's environment information for running test case(OS, browser,...)?
  - How many test case is passed/failed/skipped?
  - If we have failed test cases, we will determine how many test case failed by auto and how many bug found
  - We will show coverage of automation testcase with manual testcase
-  Send an email attach the markdown file

### CI/CD

- Gitlab pipeline stages:
  - **Lint**: Check python syntax and mark a score. If the score is less than 8, the stage will fail 
  - **Build**: Run the docker command to build an image
  - **Test**: Run the image that built at stage "**Build**"
  - **Deploy**: There's an optional stage. After those above stages are completed, we will have a docker image. If you want to run deploy stage, you can start the stage then the image will push into Nexus repository

- Manually:
  - As we confirmed in above, we created a pipeline by using Gitlab to build the docker image and run the image. The user can go to CI/CD page then click "Run pipeline" to re-run all testcase
- Auto run:
  - After new merge request are accepted and merged to main branch, the pipeline will be run automatically
  - Schedule: The pipeline will start at the time we configured