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>



相关文章
|
2月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
153 11
|
2月前
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
|
2月前
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
323 39
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
|
2月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
147 31
Selenium IDE:Web自动化测试的得力助手
|
1月前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
109 15
|
2月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
265 17
Selenium:强大的 Web 自动化测试工具
|
2月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
2月前
|
数据管理 jenkins 测试技术
自动化测试框架的设计与实现
在软件开发周期中,测试是确保产品质量的关键步骤。本文通过介绍自动化测试框架的设计原则、组件构成以及实现方法,旨在指导读者构建高效、可靠的自动化测试系统。文章不仅探讨了自动化测试的必要性和优势,还详细描述了框架搭建的具体步骤,包括工具选择、脚本开发、执行策略及结果分析等。此外,文章还强调了持续集成环境下自动化测试的重要性,并提供了实际案例分析,以帮助读者更好地理解和应用自动化测试框架。
|
2月前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
63 4
|
2月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!

推荐镜像

更多