如何让Jenkins在部署时自动运行Selenium WebDriver/TestNG/Java测试以及Maven如何处理所有这些?

J. *_* K. 34 testng selenium webdriver maven jenkins

我现在已经研究了好几个小时,但我只发现了大局.他们在任何地方都假设读者已经建立了系统的一部分.

我认为将整个事物放在一起所需的部件的大图描述将是有用的.

他们都说"使用你的maven selenium测试"等等.

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

所以这就是我目前所知道的

  1. 安装Jenkins(我们已在服务器上安装了)
  2. 为Jenkins安装插件(哪些?)
  3. 安装xvfb,以便在无头浏览器中运行测试(如何在Java编写的测试中指定?)
  4. 在计算机,jenkins和eclipse上安装Maven,使用maven项目.
  5. 我应该在eclipse工作区的哪个部分项目文件夹上传服务器以及在哪里?我有一个testng.xml文件和一些类(这是真正的测试)
  6. 如何告诉Jenkins在部署后自动运行Selenium Webdriver测试,我指向哪个文件?
  7. 如何获取报告 - 通过TestNg或通过一些Jenkins功能?

pat*_*gel 12

回复,列表如下:
Q1.安装Jenkins(我们已经在服务器上安装了)
A1.没有必要.

Q2.为Jenkins安装插件(哪些?)
A2.据我所知,只是为了这个目的不需要特定的插件.詹金斯应该能够运行maven或ant作业,它是开箱即用的.

Q3.安装xvfb,以便在无头浏览器中运行测试(如何在Java编写的测试中指定?)
A3.在Java测试中,您将指定应该启动浏览器的主机(从技术上讲,运行selenium服务器的主机).它通常是'localhost',但对于这种情况它会有所不同(在同一个盒子上运行jenkins和selen一般不是一个好主意).因此,在您的Java代码中,您指示具有xvfb AND的主机与selenium网格(默认情况下侦听端口4444).将这些信息从代码(属性文件,以及pom文件中的变量,或由jenkins提供)中分解出来也被认为是一种好的做法.

Q4.在计算机,jenkins和eclipse上安装Maven,使用maven项目.
A4.应该在jenkins主机(以及您用于开发测试的本地计算机)上安装Maven.

Q5.我应该在eclipse工作区的哪个部分项目文件夹上传服务器以及在哪里?我有一个testng.xml文件和一些类(这是真正的测试)
A5.你的代码置于版本控制之下(对吗?),所以你指出jenkins来获取你的项目(然后编译代码,编译测试,运行测试......).答案是"至少编译测试并运行它们所需的所有代码".Jenkins 从源代码构建您的项目,测试执行只是此过程的一个阶段.

Q6.如何告诉Jenkins在部署后自动运行Selenium Webdriver测试,我指向哪个文件?
A6.使用surefire插件提供的"集成测试"阶段.

Q7.如何获取报告 - 通过TestNg或通过一些Jenkins功能?
A7.Jenkins将显示(并以这种方式设置)分发testng生成的报告.


Gau*_*hah 5

即使我找出同样的问题,当我开始将我的WebDriver项目配置到Maven项目并尝试在jenkins上配置时,我需要经过许多教程并在互联网上发布.所以我要写下自己的.请告诉我这是否有帮助
http://qtp-help.blogspot.in/2013/09/webdriver-with-maven.html