Search code examples
jenkinsautomated-testsrest-assuredcicdbamboo

How test automation suite will run on CI/CD tools while running using maven or testing?


It might be stupidity question but I am very new to this CI/CD tools automaiton. Let me tell what I need , we have built a framework for API testing. here we are using rest-assured, spring framework <spring profile , sprint configuration,..>, allure report, testng Design: we have written test cases under src/tests/java/testone.java and configuration, data, report config under src/main/resources now my question is while running tests using maven command on CI/CD tools like bamboo/jenkins ..will this framework runs on its own server or will it use bamboo/jenkins server ? as I know CI/CD tools are just agents. exactly how these frameworks run on CI/CD tools? will it run after building like creating jar file and then run on server ? normally test automation suite dont create any jar/some files ...they just run like application Please let me know more on it.


Solution

  • Let's say you set up Jenkins in a machine A --> This Jenkins can be called Controller or Master. Controller will push the command to Worker/Agent to actually do the job. In the machine that installed Jenkins, there are 2 idle workers.

    • In Jenkins, you will define steps to achieve your goal (it's called a job). In your case, it's automation test. The steps would be: down source code --> run mvn command --> publish report.

    • To run the job, you have to trigger the job manually or automatically (schedule). Jenkins agent will pick up and run the defined steps, for example:

    git pull
    
    cd .\auto-test
    mvn clean verify
    

    In my view, Jenkins agent is just a tool to call another tools in CLI mode, e.g git, maven ...

    • In the case, you want to want to run test in machine B, then you have to setup machine B as an agent of Jenkins, and in the job configuration, you have to define agent to run test is machine B.