英文:
How test automation suite will run on CI/CD tools while running using maven or testing?
问题
这可能是一个愚蠢的问题,但我对这个CI/CD工具自动化非常陌生。让我告诉您我需要什么,我们已经为API测试构建了一个框架。在这里,我们使用rest-assured、spring框架<spring配置文件,Spring配置,..>、allure报告、testng设计:我们在src/tests/java/testone.java下编写了测试用例,并在src/main/resources下配置了配置、数据和报告配置。现在我的问题是,在CI/CD工具(如bamboo/jenkins)上使用maven命令运行测试时,这个框架会在自己的服务器上运行,还是会使用bamboo/jenkins服务器?因为我知道CI/CD工具只是代理。这些框架究竟是如何在CI/CD工具上运行的?它会在构建后运行,比如创建jar文件,然后在服务器上运行吗?通常,测试自动化套件不会创建任何jar文件/某些文件...它们只会像应用程序一样运行。请让我更多了解一下。
英文:
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.
答案1
得分: 0
让我们假设您在机器A上设置了Jenkins --> 这个Jenkins可以称为控制器或主控。控制器将向工作机/代理推送命令以实际执行任务。在安装了Jenkins的机器上,有两个空闲的工作机。
-
在Jenkins中,您将定义实现目标的步骤(称为作业)。在您的情况下,这是自动化测试。步骤将是:下载源代码 --> 运行mvn命令 --> 发布报告。
-
要运行作业,您必须手动或自动触发作业(计划)。Jenkins代理将接收并运行定义的步骤,例如:
git pull
cd .\auto-test
mvn clean verify
在我看来,Jenkins代理只是调用CLI模式中的另一个工具,例如git、maven...
- 在这种情况下,如果您想在机器B上运行测试,那么您必须将机器B设置为Jenkins的代理,在作业配置中,您必须定义运行测试的代理是机器B。
英文:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论