Eclipse+TestNG+ant+selenium++jenkins+svn自动化测试框架搭建

简介: Eclipse+TestNG+ant+selenium++jenkins+svn自动化测试框架搭建

1. 从写code开始吧,安装eclipse,官网下载软件,https://www.eclipse.org/downloads/,记得先装Java,建议装JDK1.7以上的。


2.接下来需要写selenium的code,testng的code,从selenium,selenium-server-standalone-2.41.0.jar,testng,testng-6.8.jar官网下载相应jar文件,放入eclipse的目录中。


4.接下来你可以写selenium的代码了,写好代码后,运用testng的框架,testNG如何使用,这里不详细说,参考testNG的官网,在code中加上testNG的注释。


5.testNG的xml文件如下,这时候执行这个xml文件就执行了selenium测试了,最后结果会显示执行成功多少case,失败多少case。


[html]  view plain  copy

<suite name="Suite1" parallel="tests" thread-count="5">  
  <test name="test1">  
  <parameter name="myage" value="25"/>  
  <parameter name="myname" value="abel,"/>  
  <groups>  
     <define name="allfunctest">  
        <include name="windows.*"/>  
        <include name="linux.*"/>  
     </define>  
     <define name="all">  
        <include name="allfunctest"/>  
        <include name="functest"/>  
        <exlcude name="checkintest"/>  
     </define>  
     <run>  
        <include name="all"/>  
        <include name="aa"/>  
        <include name="bb"/>  
        <include name="cc"/>  
     </run>  
     <dependencies>  
        <group name="aa" depends-on="bb cc"/>  
     </dependencies>  
  </groups>  
    <classes>  
       <class name="test.TestNG"/>  
    </classes>  
  </test>  
</suite>


6、接下来用ant去调用testNG的xml文件,因为最后执行是在jenkins的机器上执行,所以需要ant来进行编译,附上ant的build.xml文件。


在机器上装上ant,eclipse上装testng插件,ant插件,我安装了。


[html]  view plain  copy

<project name="TestNGTest" default="test" basedir=".">  
<!-- Define <testng> task -->  
  <taskdef name="testng" classname="org.testng.TestNGAntTask">  
    <classpath>  
      <pathelement location="lib/testng-6.8.jar"/>  
    </classpath>  
  </taskdef>  
   <property name="testdir" location="build" />  
   <property name="srcdir" location="src" />  
   <property name="libdir" location="lib" />  
   <property name="full-compile" value="true" />  
   <path id="classpath.base"/>  
   <path id="classpath.test">  
       <fileset dir="${libdir}">  
         <include name="**/testng*.jar" />  
      </fileset>  
      <pathelement location="${testdir}" />  
      <pathelement location="${srcdir}" />  
      <path refid="classpath.base" />  
   </path>  
   <target name="clean" >  
      <delete verbose="${full-compile}">  
         <fileset dir="${testdir}" includes="**/*.class" />  
      </delete>  
   </target>  
   <target name="compile" depends="clean">  
      <javac srcdir="${srcdir}" destdir="${testdir}"   
         verbose="${full-compile}">  
         <classpath refid="classpath.test"/>  
      </javac>  
   </target>  
         <target name="test"  depends="compile">  
            <testng outputdir="${testdir}" classpathref="classpath.test">   
                      <xmlfileset dir="${srcdir}" includes="TestNG_study.xml"/>   
           </testng>  
   </target>  
</project>


7、如果以上都ok了,这时需要将代码提交到svn,svn服务器搭建就不说了,Linux下自带了,只需要改改东西就行了。可能会出现没有权限的问题,authz文件加上这个

[/]
username=rw


8.代码提交成功,关于eclipse代码提交的问题,请参考我前面的blog。lib下的jar文件,代码,及testNG和ant的xml文件均需提交到svn。


6.一些都准备就绪,接下来需要jenkins来调用了。


7.jenkins调用:

 前提:在jenkins的机器上安装ant,并修改ant的环境变量。jdk是必需品,不多说了。。


jenkins的步骤:

a.通过svn将代码check out

b.通过jenkins的ant插件invoke ant,如果出现JAVA_HOME error,需要在jenkins的system manger中安装JDK,这时还需要个Oracle帐号(free).

 c.invoke ant前,先jenkins的系统管理中配置ant插件,invoke时需指定build.xml文件的位置,否则无法找到,因为build.xml不在默认的workspace目录下。

 d.不出意外,这个时候应该是可以执行了。但是执行结果怎么看到呢? 安装jenkins的testNG的插件,执行testng-results.xml文件的位置,就能看到testng的report了

e.个人感觉testNG的report还是不够美观,网上查资料看有testNGxslt使用,但是我研究了后,我这怎么都运行不起来,不是少这就是少那的。。。后续有时间再搞。


8.到此,整个框架搭建完成,所有软件都在相应的官网可下载并有使用说明。


后续,testNGxslt解决了,将saxon-8.7.jar,SaxonLiaison.jar 两个文件传到lib文件夹中,记得验证文件是否错误,双击文件,如果出现错误,则文件错了,我就是因为文件有问题,所以死活整不通,后来双击一下,发现了这个问题。ant的build.xml文件加上以下内容即可:


[html]  view plain  copy

<path id="test.classpath">  
<fileset dir="${libdir}" includes="*.jar"/>  
</path>  
    <target name="testcase">  
    <property name="dir" value=""/>  
    <mkdir dir="${testdir}/output"/>  
    <xslt processor="SaxonLiaison" classpathref="test.classpath" out="${testdir}/output/index.html" style="src/testng-results.xsl" in="${testdir}/testng-results.xml">  
    <param name="testNgXslt.outputDir" expression="${testdir}/output/"/>  
    <param name="testNgXslt.sortTestCaseLinks" expression="true"/>  
    <param name="testNgXslt.testDetailsFilter" expression="FAIL,SKIP,PASS"/>  
    </xslt>  
    </target>



相关文章
|
5天前
|
数据采集 Web App开发 测试技术
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
在网络爬虫领域,Selenium与WebDriver是实现跨浏览器自动化数据抓取的利器。本文详细介绍了如何利用Selenium和WebDriver结合代理IP技术提升数据抓取的稳定性和效率。通过设置user-agent和cookie来模拟真实用户行为,避免被网站检测和阻止。文章提供了具体的代码示例,展示了如何配置代理IP、设置user-agent和cookie,并实现了跨浏览器的数据抓取。合理的参数配置能有效减少爬虫被封禁的风险,提高数据抓取效率。
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
|
5天前
|
Web App开发 Java 测试技术
自动化测试的利器:Selenium WebDriver入门与实践
【9月更文挑战第8天】在软件开发的海洋中,测试是确保我们不会溺水的那根救生索。Selenium WebDriver,作为自动化测试的明星工具,让这根救生索更加结实可靠。本文将带你快速上手Selenium WebDriver,从基础设置到实际操作,再到实战演练,让你的开发之旅更加平稳顺畅。
|
1天前
|
JavaScript 前端开发 测试技术
Selenium2Library实现基于GUI的测试
Selenium2Library实现基于GUI的测试
4 0
|
14天前
|
Web App开发 Java 测试技术
自动化测试的新篇章:使用Selenium WebDriver进行高效测试
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试犹如一艘航船,带领着质量保证团队驶向效率与精准的彼岸。本文将揭开Selenium WebDriver的神秘面纱,通过实际案例引导您掌握这一强大的自动化测试工具。我们将从Selenium WebDriver的基础概念出发,逐步深入到代码示例,最后探讨其在现实项目中的应用场景和优势,旨在为您的软件测试之旅提供清晰的指南。
|
14天前
|
Web App开发 测试技术 持续交付
探索自动化测试:以Selenium和Python为例
【8月更文挑战第31天】自动化测试在现代软件开发中扮演着不可或缺的角色。本文将通过一个简化的示例,展示如何使用Selenium和Python进行Web应用的自动化测试。我们将从安装必要的工具开始,逐步构建一个简单的测试脚本,并执行它来验证其功能。通过这个过程,我们旨在揭示自动化测试的价值,并激励读者深入探索这一领域。
|
14天前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【8月更文挑战第31天】在软件开发的世界中,自动化测试是提高产品质量和开发效率不可或缺的一环。本文将深入探讨Selenium这一强大的自动化测试工具,从其架构、优势到实战应用,一步步揭示如何利用Selenium框架提升软件测试的效率和准确性。通过具体的代码示例,我们将展示Selenium如何简化测试流程,帮助开发者快速定位问题,确保软件的稳定性和可靠性。无论你是测试新手还是资深开发者,这篇文章都将为你打开一扇通往高效自动化测试的大门。
|
14天前
|
Java 测试技术 API
探索自动化测试的奥秘:从Selenium到Appium
【8月更文挑战第31天】本文旨在引导读者理解自动化测试的重要性,并逐步深入介绍如何利用Selenium和Appium这两个强大的工具来提升测试效率和质量。文章不仅分享理论知识,还通过具体代码示例,展示如何在Web应用和移动应用测试中实施自动化策略。
|
14天前
|
Web App开发 人工智能 测试技术
探索自动化测试的奥秘:以Selenium为例
【8月更文挑战第31天】在软件发展的快速车道上,自动化测试是确保质量和效率的关键。本文将深入探讨自动化测试的重要性,并以Selenium这一流行的自动化测试框架为例,展示如何通过代码实现自动化测试流程。文章不仅提供了实用的代码示例,还讨论了自动化测试在现代软件开发中扮演的角色和面临的挑战。
|
14天前
|
Web App开发 敏捷开发 Java
自动化测试入门:以Selenium为例
【8月更文挑战第31天】在软件开发的海洋中,自动化测试犹如一座灯塔,指引着项目质量保障的方向。本文将带你驶入Selenium自动化测试的港湾,从搭建环境到编写简单的测试脚本,逐步展开对Web应用功能和界面的自动化验证之旅。通过实际代码示例,我们将一起探索如何利用Selenium工具提升测试效率,确保软件质量的同时,为开发流程增添一份信心与乐趣。
|
14天前
|
Web App开发 安全 测试技术
自动化测试中的Python魔法:使用Selenium和pytest框架
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试是确保航行安全的灯塔。本文将带你探索如何利用Python语言结合Selenium和pytest框架,搭建一套高效的自动化测试体系。我们将从基础设置讲起,逐步深入到编写测试用例,最后通过一个实战案例来展示如何在实际项目中运用这些工具。文章旨在为读者提供一套清晰的自动化测试解决方案,让你的开发之旅更加顺畅。