zoukankan      html  css  js  c++  java
  • Jenkins + Jmeter +Ant自动化集成环境搭建 和 ant+jenkins+testNG自动化测试环境搭建

    所需工具

    一、jmeter 工具下载 https://jmeter.apache.org/  配置环境JDK等及各种插件可以看小七之前的教程

    二、Ant安装(http://ant.apache.org/) 安装Ant是为了后续在Jenkins中封装、构建、执行需要用到

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Apache Ant™
    Apache Ant是一个Java库和命令行工具,其任务是将构建文件中描述的进程作为相互依赖的目标和扩展点。Ant的主要用途是构建Java应用程序。Ant提供了许多内置任务,允许编译,组装,测试和运行Java应用程序。Ant还可以有效地用于构建非Java应用程序,例如C或C ++应用程序。更一般地说,Ant可以用来试验任何类型的过程,可以用目标和任务来描述。
     
    Ant是用Java编写的。Ant的用户可以开发自己的包含Ant任务和类型的“antlibs”,并提供大量现成的商业或开源“antlibs”。
     
    Ant非常灵活,并且不会将编码约定或目录布局强加给采用它作为构建工具的Java项目。
     
    寻找结合构建工具和依赖管理的解决方案的软件开发项目可以将Ant与Apache Ivy结合使用。
     
    Apache Ant项目是Apache Software Foundation的一部分。

      

    三、Jenkins安装 https://jenkins.io/(部署在tomcat)


     一、jmeter安装略

     二、Ant安装

    选择  二进制分布 下载

    1、下载 apache-ant-1.9.11-bin.tar.gz  目录位置随意 笔者是放在tomcat 同级目录下

    2、配置环境变量

    window中设置ant环境变量:

    ANT_HOME   E: oolapache-ant-1.9.11-binapache-ant-1.9.11

    path             E: oolapache-ant-1.9.11-binapache-ant-1.9.11in

    classpath      E: oolapache-ant-1.9.11-binapache-ant-1.9.11lib

    3、验证ant

    输入 ant

    显示如下 即安装成功     

    也可以查看版本号

    输入 ant -version

    4、ant使用

         

    1、配置xml文件
    Jmeter目录位置:G:Toolsapache-jmeter-4.0apache-jmeter-4.0,在jmeter中建立demo eport文件夹,demo中创建build.xml文件,需要配置Jmeter目录、生成报告的路径,报告的格式和脚本目录,内容如下:
      

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project name="ant-jmeter-test" default="run" basedir=".">
        <tstamp>
            <format property="time" pattern="yyyyMMddhhmm" />
        </tstamp>
        <!-- 需要改成自己本地的 Jmeter 目录-->  
        <property name="jmeter.home" value="G:Toolsapache-jmeter-4.0apache-jmeter-4.0" />
        <!-- jmeter生成jtl格式的结果报告的路径--> 
        <property name="jmeter.result.jtl.dir" value="G:Toolsapache-jmeter-4.0apache-jmeter-4.0demo
    eportjtl" />
        <!-- jmeter生成html格式的结果报告的路径-->
        <property name="jmeter.result.html.dir" value="G:Toolsapache-jmeter-4.0apache-jmeter-4.0demo
    eporthtml" />
        <!-- 生成的报告的前缀-->  
        <property name="ReportName" value="TestReport" />
        <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
        <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
        
        <target name="run">
            <antcall target="test" />
            <antcall target="report" />
        </target>
        
        <target name="test">
            <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
            <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
                 <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
                <testplans dir="G:Toolsapache-jmeter-4.0apache-jmeter-4.0demo" includes="*.jmx" />
                <property name="jmeter.save.saveservice.output_format" value="xml"/>
            </jmeter>
        </target>
        
        <path id="xslt.classpath">
            <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
            <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
        </path> 
        
        <target name="report">
            <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
            <xslt 
                  classpathref="xslt.classpath"
                  force="true"
                  in="${jmeter.result.jtlName}"
                  out="${jmeter.result.htmlName}"
                  style="${jmeter.home}/extras/jmeter-results-report_21.xsl">
                  <!-- 这里有个坑,网上的教程里面 不要copy了就不当回事, 需要在apache-jmeter-4.0extras 目录下找到对应的执行文件 --> 
                  <param name="dateReport" expression="${report.datestamp}"/>
            </xslt>
                    <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
            <copy todir="${jmeter.result.html.dir}">
                <fileset dir="${jmeter.home}/extras">
                    <include name="collapse.png" />
                    <include name="expand.png" />
                </fileset>
            </copy>
        </target>
    </project>

    2、将jmeter测试脚本放入demo目录下,当然放入其他位置也可以,build.xml中需要配置jmeter脚本存放路径的对应位置。

    2、ant构建运行Jmeter,并且生成jtl、Html报告

    1. jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
    2.   也可以在NON-GUI模式执行的时候 命令执行保存为xml    :G:Toolsapache-jmeter-4.0apache-jmeter-4.0injmeter.bat -n -r -t test.jmx -l test.xml -e -o test
    3. 将G:Toolsapache-jmeter-4.0apache-jmeter-4.0extrasant-jmeter-1.1.1.jar拷贝到E: oolapache-ant-1.9.11-binapache-ant-1.9.11lib目录下;
      1. 拷贝到
    4. 在apache-jmeter-4.0apache-jmeter-4.0extras目录下打开CMDER,运行"ant.bat -file build.xml -Dtest=Test" (2019-09-26更新:直接执行ant即可。无须执行这么长了). 查看apache-jmeter-4.0extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功会显示 BUILD SUCCESSFUL。PS:Test.jmx是默认存在的Sample脚本文件。

    3、验证配置,执行构建测试
      将之前jmeter的脚本保存, 并将build.xml配置文件放在与测试脚本相同的目录下

     

    打开cmder 执行ant run

    执行成功

     

    三、Jenkins 部署

    Jenkins 是基于 Java 开发的一种持续集成工具,所以,Jenkins 需要 Java 环境,所以请自行安装好jdk

    1、安装 tomcat
    tomcat 是真对 Java 的一个开源中间件服务器(容器),基于 Java Web 的项目需要借助 tomcat 才能
    运行起来。
    tomcat 官方网站:http://tomcat.apache.org/ 

    安装成功之后,

    PS:通常将需要运行有应用放到 webapps/目录下

    进入 bin/目录下,双击 startup.bat 来启动 tomcat 服务器

    访问 http://localhost:8080

    安装成功

    2、安装 Jenkins

    Jenkins 官方网站:http://jenkins-ci.org/ 

    找到对应系统所对应的 Jenkins 版本,下载安装

    双击安装,步骤这里就不一一截图了.安装的时候 如下图,目录放到tomcat的webapps中

    运行 Jenkins
    进行 tomcat 的 bin/目录下启动 startup.bat ,通过浏览器访问:http://localhost:8080/ 
    ps:请勿在启动tomcat未关闭时启动Jenkins,否则会导致端口冲突

    如果想要满足同时看到tomcat界面与jenkins界面

    可执行下面操作

    改变端口执行:
    java -jar jenkins.war --httpPort=$HTTP_PORT, 例如java -jar jenkins.war --httpPort=6060          也可在可在..Jenkinsjenkins.xml中修改默认端口
    启动成功;

    后打开浏览器,输入http:/localhost:6060,即可看到jenkins的页面


    首次进入Jenkins 需要做一些配置

    第一步、 不多做解释了,中文大家都懂,点击“继续”进入下一步

    第二步、选择安装所需插件,刚开始玩可以选择左侧的推荐插件

    安装插件ing.........

    第三步、安装完成后创建用户

    各项设置成功之后 即可看到Jenkins的页面.下面就可以创建任务了

    PS:插件功能可以用来后续拓展功能使用,目前的环境搭建可以不需要安装插件

    1. jenkin 相关插件介绍与配置

    提前下载好插件:

    系统管理- 管理插件- 可选插件

    下载所需的插件,例如:Performance plugin、HTML Publisher plugin、Ant Plugin 等

    1)  配置中 添加 Jmeter插件:Performance plugin、HTML Publisher plugin

         功能:用来展示jmeter执行结果

    2)  配置中 添加 Ant插件:Ant Plugin

    功能:用来执行Ant

    2、新建一个任务,构建一个自由风格的软甲项目

    1)

    2)选择构建触发器---增加构建步骤---INVOKE ANT

    Targets 应该填什么?查看build.xml文件   查看 default="run" 这个参数。根据ant的build.xml中的default= ()来填

     3)选择高级

    4) Build File :此处输入的是build.xml文件的位置

    3、配置之后保存,回到工作台 点击右侧的执行按钮  ,左侧会出现 执行状态

     构建历史中科院查看构建过的任务

    控制台输出中查看执行的日志信息

    在本地输出的状态报告中可以查看到新生成报告

     4、集成环境已经搭建完成,也可以设置一个定时任务 执行自动化集成

    构建触发器:选择此项目构建的触发条件,例如本项目的是为了实现接口的定时监控,于是选择Build periodically(定期构建)。

    注意:关于定期构建参数的说明:"* * * * *",总共有5个参数,分别代表分(0~59)、时(0~23)、天(1~31)、月(1~12)、周(0~7,0和7表示星期天);

     

    ant+jenkins+testNG自动化测试环境搭建

    1,进入Global Tool Configuration
    2.点击新增ant,取消自动安装的勾选
    3.把ant的路径填写进去
    点击apply保存配置。
    接下来进入系统协管理-系统设置-增加全局键值对应:

    填好后点击apply和save,这里是个坑,之前看大神写的博客,没提到这一点,在构建的时候提示找不到ant来编译文件,所以这一步必须要做。有意思的是,在构建成功后我删除这个配置,再去构建,依然能够成功,可能是jenkins自身存在的一个BUG吧。
    2.4 准备TestNG环境和Build.xml文件:
    selenium+testNG的环境搭建这里就不说了。新建一个javaProject:大致的结构如下,关键的地方都圈出来了:这几个文件是必须要有的,记住你新建的这个JavaProject的workspace路径,后续需要用到。

    好,一个个讲一下,第一个红圈是你写的testNG测试用例,需要测啥全部扔进来就行
    第二个红圈是selenium的组件包,这个想必接触过selenium的朋友都很熟悉了
    第三个红圈是build.xml,是实现ant编译的关键文件
    第四个是定制你需要测哪几个测试用例的Xml文件,如图

    在classname里指定你要执行的testNG测试用例即可,normal是包的名字
    好,最后说Build.xml

    <?xml version="1.0"?>
    <project name="jekinsPratice" default="run" basedir=".">
        <echo  message="import libs" />
        <path id="run.classpath">
            <fileset dir="${basedir}/lib">
                <include name="testng.jar" />
            </fileset>
            <fileset dir="${basedir}/lib">
                <include name="selenium-java-2.40.0.jar" />
                <include name="selenium-server-standalone-2.40.0.jar"/>
            </fileset>
                    <fileset dir="${basedir}/libs">
                <include name="*.jar" />
            </fileset>
        </path>
        <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="run.classpath" />
        <target name="clean">
            <delete dir="build"/>
        </target>
        <target name="compile" depends="clean">
            <echo message="mkdir"/>
            <mkdir dir="build/classes"/>
            <javac srcdir="src" destdir="build/classes" debug="on">
                <classpath refid="run.classpath"/>
            </javac>
        </target>
        <path id="runpath"> 
             <path refid="run.classpath"/> 
             <pathelement location="build/classes"/> 
           </path> 
        <target name="run" depends="compile">
            <testng  classpathref="runpath"  outputDir="test-output">
                <xmlfileset dir="${basedir}" includes="test.xml"/>
                <jvmarg value="-ea" />
            </testng>
        </target>
    </project>

    解释一下:

    <project name="jekinsPratice" default="run" basedir=".">-----这个是你JavaProject的名字
     <fileset dir="${basedir}/lib">
                <include name="testng.jar" />
            </fileset>
            <fileset dir="${basedir}/lib">
                <include name="selenium-java-2.40.0.jar" />
                <include name="selenium-server-standalone-2.40.0.jar"/>
            </fileset>------这几段是指定我们刚刚说过的TestNG的jar包位置,以及两个selenium组件包的位置
     <xmlfileset dir="${basedir}" includes="test.xml"/>-----这个是指定要执行哪几个测试用例的xml文件的路径
    其他的部分都不用修改可以直接使用。
    ok-到这里,TestNG和build.xml的环境就准备好了。

    2.5 使用jenkins开始构建

    打开jenkins-新建-输入项目名称,选择“构建一个自由风格的软件项目”
    在增加构建配置中选择invoke ant
    进行以上配置,指定Build.xml的文件(或build.xml文件全路径),注意,ANT_HOME是选择的(因为前面已经配置过了),不是自己输入的。
    保存应用配置之后,点击立即构建

     可以看到控制台的输出:

  • 相关阅读:
    存储与服务器的连接方式对比(DAS,NAS,SAN)
    FreeNAS系统总结
    FreeNAS-9.10虚拟机测试安装
    rsync实时同步服务部署
    无限循环与嵌套循环
    几种循环语句
    选择结构if
    java引用数据类型
    java运算符的优先级
    java运算符-逻辑、三元运算符
  • 原文地址:https://www.cnblogs.com/wsy0202/p/11836429.html
Copyright © 2011-2022 走看看