设为首页 收藏本站
查看: 1332|回复: 0

[经验分享] Jenkins+Ant+Jmeter接口自动化集成测试

[复制链接]

尚未签到

发表于 2018-1-9 10:07:46 | 显示全部楼层 |阅读模式
一、Jmeter+ant
  1、首先我们默认Jmeter脚本已经录制好了,并测试通过,存在(查询模块.jmx)脚本
  2、将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本
  3、jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,保存
  jmeter.save.saveservice.output_format=xml
  4、主要逻辑思路:运行D:\jemeterTest\script下面的.jmx脚本,生成.jtl文件放入
  D:\jemeterTest\resultLog\jtl文件中,ant在将相应的文件转换为对应的html文件放入D:\jemeterTest\resultLog\html中
  build.xml文件中的内容如下:
  

<?xml version="1.0" encoding="utf-8"?>  
<project name="JmeterTest" default="all" basedir=".">
  
    <tstamp>
  
        <format property="time" pattern="yyyyMMddhhmm" />
  
    </tstamp>
  
    <!-- 需要改成自己本地的 Jmeter 目录-->
  
    <property name="jmeter.home" value="D:\soft\apache-jmeter-2.9" />
  
    <!-- jmeter生成jtl格式的结果报告的路径-->
  
    <property name="jmeter.result.jtl.dir" value="D:\jemeterTest\resultLog\jtl" />
  
    <!-- jmeter生成html格式的结果报告的路径-->
  
    <property name="jmeter.result.html.dir" value="D:\jemeterTest\resultLog\html" />
  
    <!-- 生成的报告的前缀 -->
  
    <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" />
  
    <!-- 接收测试报告的邮箱 -->
  
    <property name="mail_to" value="LIUCHAO448@pingan.com.cn" />
  
    <!-- 电脑地址 -->
  
    <property name="ComputerName" value="jkqsh-l0285" />
  
    <target name="all">
  
        <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="D:\jemeterTest\script" includes="*.jmx" />
  
        </jmeter>
  
    </target>
  
    <target name="report">
  
        <xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_90Line.xsl" />
  
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
  
        <copy todir="${jmeter.result.html.dir}">
  
            <fileset dir="${jmeter.home}/extras">
  
                <include name="collapse.png" />
  
                <include name="expand.png" />
  
            </fileset>
  
        </copy>
  
    </target>
  
    <!-- 发送邮件 -->
  
</project>
  

  切换到D:\jemeterTest目录下,输入ant查看运行结果
DSC0000.gif

  运行前
DSC0001.gif

  运行后
DSC0002.gif

  浏览器打开HTML文件,显示正确
DSC0003.gif


二、Jmeter+ant+Jenkins
  1、下载Jenkins安装
  2、命令行切换到jenkins.war的根目录,输入 java -jar jenkins.war
DSC0004.gif

  3、浏览器输入地址http://localhost:8080/显示界面,安装成功
DSC0005.gif

  4、新建一个任务并配置
DSC0006.gif

  5、配置参数
DSC0007.gif

  旧的构建保存了你在一次构建中的所有临时文件,如果构建没有保留的必要,就勾选丢弃旧的构建,同时设置保持构建天使和保持构建的最大个数两个参数。
  注意:三个设置必须同时设置,否则无效
  6、设置定时运行间隔,这里,设置间隔时间为15分钟运行一次
DSC0008.gif

  7、设置invoke ant,完成后点击保存
DSC0009.gif

  8、点击立即构建,就可以调用ant,执行打包过程。在这里,也就是执行生成测试报告的步骤
DSC00010.gif


三、Tomcat配置虚拟目录
  在tomcat文件夹的conf/catalina/localhost(对于Tomcat6版本及其以上,需要自己创建catalina和localhost这两个文件夹)下新建一个xml文件。
  内容为:
  

<?xml version="1.0" encoding="UTF-8"?>  
<Context
  
    docBase="换成你的路径"
  
    reloadable="true">
  
</Context>
  

  文件名改成你自己的譬如http://localhost:8080/infces ,文件名就为infces.xml
  其他配置:
  打开 Tomcat/conf/web.xml 文件,找到:
  <init-param>
  <param-name>listings</param-name>
  <param-value>false</param-value>
  </init-param>
  把false设成true保存,重启Tomcat,让tomcat支持文件列表显示
  输入地址:http://localhost:8080/infces/
  显示如下:
DSC00011.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433170-1-1.html 上篇帖子: Jenkins13,修改Jenkins权限控制 下篇帖子: 通过TestNG+Jenkins实现Case参数化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表