全网最全,Jmeter+Ant 接口自动化测试,从0到1精通实战...

news2024/11/28 17:03:11

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

注:涉及到jdk、jmeter 的安装和配置不在此处介绍

Ant下载地址:https://dlcdn.apache.org//ant/binaries/apache-ant-1.10.12-bin.zip

1、需要先配置环境变量:

ANT_HOME   D:\apache-ant
CLASSHOME  %ANT_HOME%\lib
Path %ANT_HOME%\bin

配置好ant环境变量后,在dos下验证环境变量是否生效:

ant -version

31

2、将jmeter目录下extras下的ant-jmeter-1.1.1.jar 复制到ant目录下lib目录中。

3、修改jmeter的bin\jmeter.properties配置文件,找到配置项:

jmeter.save.saveservice.output_format=csv 

改为:

jmeter.save.saveservice.output_format=xml

32

4、配置ant调用jmeter的脚本运行并将生成的jtl格式报告转成html格式。在脚本存放的路径下新建一个build.xml。
配置信息如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="_yyyy_MMdd_HHmmss"/>
    </tstamp>
    <!-- 配置本地jmeter路径 -->
    <property name="jmeter.home" value="D:\apache-jmeter-5.4.1" />
    <!-- 配置jmeter执行脚本路径 -->
    <property name="jmeter.script.dir" value="D:\apache-jmeter-5.4.1\testScript" />
    <!-- 配置报告名称 -->
    <property name="report.title" value="接口自动化测试" />
    <!-- 配置jmeter运行结束后,生成的jtl格式报告所在路径 -->
    <property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-5.4.1\testScript" />
    <!-- 配置jmeter生成html格式报告的路径 -->
    <property name="jmeter.result.html.dir" value="D:\apache-jmeter-5.4.1\testScript" />
    <!--配置报告的描述-->
    <property name="detail" value="_detail" />
    <!--配置生成报告的文件名称-->
    <property name="ReportName" value="ApiTestreport" />
    <property name="ReportNameDetail" value="ApiTestreportDetail" />
    <!--配置jmeter执行后生成的jtl报告存放的路径-->
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    <!--配置jtl报告格式转成html后,存放的路径,因为本人配置了两个模板的报告所以这里有两个不同的报告名称  -->
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
    <property name="jmeter.result.detail_htmlName" value="${jmeter.result.html.dir}/${ReportNameDetail}${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 ,指此目录下的所有jmx脚本-->
            <testplans dir="${jmeter.script.dir}" 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.datestemp" pattern="yyyy/MM/dd HH:mm" />
        </tstamp>
        <!-- 调用jmeter自带的生成模板,在extras下可以找到 -->
        <xslt classpathref="xslt.classpath"
              force="true"
              in="${jmeter.result.jtlName}"
              out="${jmeter.result.htmlName}"
              style="${jmeter.home}\extras\jmeter-results-detail-report_21.xsl">
              <param name="titleReport" expression="${report.title}" />
              <param name="dateReport" expression="${report.datestemp}" />
        </xslt>
 
        <!-- 调用别人写的一套模板,显示的信息比较详细,需要自己去下载模板后,放到extras目录下调用 -->
        <xslt classpathref="xslt.classpath"
              force="true"
              in="${jmeter.result.jtlName}"
              out="${jmeter.result.detail_htmlName}"
              style="${jmeter.home}\extras\jmeter.results.shanhe.me.xsl">
              <param name="dateReport" expression="${report.datestemp}" />
        </xslt>
 
        <!-- 生成报告的时候,不会将相关的图片复制到目标目录,所以,需要手动复制 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
</project>

注意:
如果没有下载jmeter.results.shanhe.me.xsl 文件,并存放在extras下,需要将下面这段配置注释掉:

32

如果已经下载jmeter.results.shahe.me.xsl,并放在extras目录下了,还需要去/bin目录下配置jmeter.properties才会看到效果。

需要将一下的配置全部改为:true

jmeter.save.saveservice.assertion_results_failure_message=true
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true

以上全部配置好后,在dos命令下,切换到刚才新建的build.xml 目录下,执行:

ant -f build.xml

如果看到 BUILD SUCCESSFUL 表示执行成功,配置正确

33

执行结束后,生成的jmeter自带的html格式报告,如下

34

执行完成后,生成的另一份别人写的报告模板,如下:

35

遇到的问题:
在配置的时候,有些目录的路径写得不正确或者不是在build.xml目录执行ant命令,导致以下的问题:

ant : 无法将“ant”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确。

然后再试一次。
所在位置
行:1 字符: 1

+ ant -f build.xml

+ ~~~

    + CategoryInfo          : ObjectNotFound: (ant:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException

36

解决方式:
检查配置中的路径是否正确,可以复制配置项的路径,直接粘贴在windows资源管理中的地址栏中,看是否进入到相应的目录。

检查配置的参数是否写正确,特别是xml有很强的层级关系校验。注意父级和子级标签的位置闭合是否正确

在dos环境下,切换到build.xml所在的路径,再执行ant -f build.xml ,或者可以执行指定的文件路径,如:ant -f d:\testScript\build.xml

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

决心与努力是成功的伴侣,勇气与毅力是梦想的引路人。不怕前路艰辛,不畏困难重重,只因信念坚定,奋斗不息。追求自己的壮丽舞台,开创璀璨人生,让每一次努力都成为自己无悔的回忆!

每一次汗水都是一份收获,每一次坚持都是一种成长。不要畏惧失败,勇往直前,用勤奋和毅力铸造辉煌。相信自己的潜力,拥抱挑战,只有努力奋斗,才能引领自己走向无限可能!

不管前方有多少风雨,坚持奋斗是唯一的选择。追逐梦想的道路上或许孤独,但努力的足迹必将铺就辉煌的人生。相信自己的力量,无畏困难,创造属于自己的辉煌之路!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/793091.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用友全版本任意文件上传漏洞复现

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章&#xff0c…

大数据技术之Hive1

目录标题 1、Hive基本概念1.1 定义1.2 优缺点1.3 Hive架构原理1.4 hive和数据库比较 2、Hive安装2.1 Hive 安装地址 1、Hive基本概念 1.1 定义 hive是基于hadoop的一个数据仓库工具&#xff0c;可以将结构化数据文件映射成一张表&#xff0c;并提供类SQL查询功能。 本质&…

(202307)wonderful-sql:复杂一点的查询(task3)

教程链接&#xff1a;Datawhale - 一个热爱学习的社区 知识学习 1 视图 视图是一张虚拟的表。《sql基础教程第2版》用一句话非常凝练的概括了视图与表的区别---“是否保存了实际的数据”。 通过定义视图可以将频繁使用的SELECT语句保存以提高效率。通过定义视图可以使用户看…

OSCP最新考试QA

枚举提示 初始枚举 对你的目标进行光线扫描。 例如&#xff0c;扫描您的考试机器上的10个常见端口。 在等待彻底和更长时间的扫描时&#xff0c;手动与找到的服务交互。 仔细列举 避免对多个目标进行大量扫描。 运行不安全扫描后还原计算机。 重新运行扫描以确保所有信…

进程线程间的通信

进程和线程之间有很多种方法进行通信&#xff0c;如下是需要掌握的通信方式&#xff1a; 无名管道&#xff08;pipe&#xff09;有名管道&#xff08;fifo&#xff09;信号&#xff08;signal&#xff09;共享内存&#xff08;mmap&#xff09; 本文章代码存放在GitHub中的UNIX…

libhv之hloop源码分析

1int hloop_run(hloop_t* loop) hloop_run总结&#xff1a; 1.loop状态判断和管理 2.loop的flags管理&#xff08;HLOOP_FLAG_QUIT_WHEN_NO_ACTIVE_EVENTS&#xff0c;HLOOP_FLAG_RUN_ONCE&#xff0c;HLOOP_FLAG_AUTO_FREE&#xff09; 3.创建custom event通信fd&#xff0c;方…

Docker consul容器服务更新与发现

Docker consul容器服务更新与发现 一、什么事服务注册与发现二、什么是consul三、consul部署1、consul服务器2、registrator服务器3、consul-template 一、什么事服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的&#xff0c;不保障高可…

MyBatis学习笔记之高级映射及延迟加载

文章目录 环境搭建&#xff0c;数据配置多对一的映射的思路逻辑级联属性映射association分布查询 一对多的映射的思路逻辑collection分布 环境搭建&#xff0c;数据配置 t_class表 t_stu表 多对一的映射的思路逻辑 多对一&#xff1a;多个学生对应一个班级 多的一方是st…

STM32 中断优先级管理(一)

STM32 NVIC 中断优先级管理 CM3内核支持256个中断&#xff0c;其中包含了16个内核中断和240个外部中断&#xff0c;并且有256级的可编程中断设置。 但STM32并没有使用CM3内核的全部东西&#xff0c;只用了一部分。 STM32有84个中断&#xff0c;包括16个内核中断和68个可屏蔽…

Windows数据类型LPSTR学习

Windows在C语言的基础之上又定义了一些Windows下的数据类型&#xff1b;下面学习一下LPSTR&#xff1b; LPSTR和LPWSTR是Win32和VC所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的32位ANSI字符数组指针&#xff0c;而LPWSTR是一个指向以NULL结尾的64…

Fiddler使用教程|渗透测试工具使用方法Fiddler

提示&#xff1a;如有问题可联系我&#xff0c;24小时在线 文章目录 前言一、Fiddler界面介绍二、菜单栏1.菜单Fiddler工具栏介绍Fiddler命令行工具详解 前言 网络渗透测试工具&#xff1a; Fiddler是目前最常用的http抓包工具之一。 Fiddler是功能非常强大&#xff0c;是web…

探秘MySQL底层架构:设计与实现流程

前言 Mysql&#xff0c;作为一款优秀而广泛使用的数据库管理系统&#xff0c;对于众多Java工程师来说&#xff0c;几乎是日常开发中必不可少的一环。无论是存储海量数据&#xff0c;还是高效地检索和管理数据&#xff0c;Mysql都扮演着重要的角色。然而&#xff0c;除了使用My…

全网最牛,Jmeter接口自动化-读取用例执行并结果回写(详细整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、环境准备 下载…

(vue)vue项目获取日期 时间 星期

(vue)vue项目获取日期 时间 星期 效果&#xff1a; 代码&#xff1a; <div class"top-time"><div class"time-currentDate">{{ currentDate }}<div class"time-img"><img src"/assets/image/icon-time.png" a…

曲面显示器和平面显示器有什么区别?

电脑显示器的选择非常重要。除了现在平面显示器和曲面显示器也很流行之外&#xff0c;曲面显示器和平面显示器有什么区别呢&#xff1f;我们来看看曲面显示器和平面显示器的优缺点 如今&#xff0c;曲面屏显示器已成为主流。为电脑配置一个好的显示器非常重要。市场上有许多计算…

记录联想拯救者R720重装系统

文章目录 bios里找不到U盘启动项2023.7.23重装系统后数据记录C盘内存修改默认AppData的路径&#xff08;亲测&#xff0c;没用&#xff09; bios里找不到U盘启动项 制作好启动盘后&#xff0c;开机按F2进入bios后&#xff0c;找不到U盘启动项&#xff0c;如下图所示&#xff1…

常见面试题之设计模式--责任链模式

1. 概述 在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导能批准的天数不同…

(原创)自定义DialogFragment以及解决其内存泄漏问题

前言 日常开发中&#xff0c;dialog是常见的功能&#xff0c;我们时常需要弹出来一些弹框提示用户 今天就定义了一个方便的dialog基类BaseSimpleDialogFragment&#xff0c; 支持快速地显示一个dialog 主要功能有&#xff1a; initAnimation&#xff1a;设置入场和出场动画 ge…

【青书学堂】管理学基础(直播课) 第一学期 考试

【青书学堂】计算机组装与维护(直播课) 第一学期 考试 标题最终成绩:83.34 分 注意:答案仅供参考 第1题 单选题 梅奥的霍桑试验表明( )。 A:非正式组织对组织目标的达成是有害的 B:非正式组织对组织目标的达成是有益的 C:企业应采取一切措施来取缔非正式组织 D:企业应该…

【Unity3D日常开发】Unity3D中比较string字符串的常用方法

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 字符串string的比较有很多方法&#xff0c;比如&#xff1a; …