如何使Jenkins在部署时自动运行Selenium WebDriver/TestNG/Java测试,以及Maven对所有这些做了什么?

我一直在研究这个好几个小时,但我只找到了一些大的图片。无论他们在哪里,他们假设读者已经有系统的一部分设置。

我认为有必要有一个大图片描述需要把整个东西放在一起的部分。

他们都说“使用你的maven硒测试”等等。

编辑:经过一些研究,我发现我需要在Jenkins和我的电脑上安装Maven,为Eclipse安装一个maven插件,并将我的项目创建/转换为Maven项目。
如何在Jenkins中转移我的Maven项目?我是导出到.jar,还是移动服务器上的整个文件夹?
如何连接整个事情与xvfb一起?

所以这里是我知道的到目前为止

>安装Jenkins(我们已经在我们的服务器上)
>为Jenkins安装插件(哪些?)
>安装xvfb,以便在无头浏览器中运行测试(如何在Java写的测试中指定测试?)
>在计算机,jenkins和eclipse上安装Maven,使用maven项目。
>我的项目文件夹的哪个部分从Eclipse工作场所我应该上传在服务器上和哪里?我有一个testng.xml文件和一些类(这是acutal测试)
>我如何告诉Jenkins在部署后自动运行Selenium webdriver测试,以及我指向哪个文件?
>如何获取报告 – 通过TestNg或通过一些Jenkins功能?

最佳答案
响应,在您的列表之后:
Q1。安装Jenkins(我们已经在我们的服务器上)
A1。不需要。

Q2。为Jenkins安装插件(哪些?)
A2。至于我记得没有特定的插件只是为了这个目的。 Jenkins应该能够运行maven或蚂蚁的工作,它是开箱。

Q3。安装xvfb,所以测试在无头浏览器中运行(我如何在Java写的测试中指定?)
A3。在Java测试中,您将指定应该启动浏览器的主机(更技术上,运行selenium服务器的主机)。它通常是“localhost”,但对于这种情况,它将是不同的(通常不是一个好主意运行jenkins和硒在同一个盒子)。所以,在你的java代码中,你指示主机与xvfb AND与selenium网格(默认监听端口4444)。它也被认为一些好的做法,从代码(属性文件,进一步,变量在pom文件中,或由jenkins提供)考虑这些信息。

Q4。在计算机,jenkins和eclipse上安装Maven,使用maven项目。
A4。 Maven应该安装在jenkins主机(和本地机器,你用来开发测试)。

问题5。我的项目文件夹的哪个部分从Eclipse工作场所应该上传到服务器上,哪里?我有一个testng.xml文件和一些类(这是acutal测试)
A5。你的代码放在版本控制下(对吧?),所以你指向jenkins来获取你的项目(然后编译代码,编译测试,运行测试…)。答案是“至少是编译测试并运行它们所需的所有代码”。 Jenkins从源代码构建项目,测试执行只是这个过程的一个阶段。

Q6。我如何告诉Jenkins在部署后自动运行Selenium webdriver测试,我指向哪个文件?
A6。使用“integration-test”阶段由surefire插件提供。

Q7。如何获取报告 – 通过TestNg或通过一些Jenkins功能?
A7。 Jenkins将显示(并分发,如果这样设置)由testng生成的报告。

转载注明原文:如何使Jenkins在部署时自动运行Selenium WebDriver/TestNG/Java测试,以及Maven对所有这些做了什么? - 代码日志