精华内容
下载资源
问答
  • Java接口测试自动化

    2019-04-18 12:03:29
    java接口自动化测试视频教程testng httpclient mock jenkins集成
  • WEB接口测试之Jmeter接口测试自动化 (一)(初次接触) 软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试。单元测试一般有开发人员自行完成,而...

    WEB接口测试之Jmeter接口测试自动化 (一)(初次接触)

         

          软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试

    单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在繁杂的手工界面测试之余,

    更多的参与到接口测试中,对工作效率及个人技术能力应该会有很大的提升空间。

          从个人浅表的理解上来说,接口测试主要分为两类:代码层接口测试和Web HTTP接口测试,代码层接口测试更接

    近单元测试一些吧,而web接口主要表现为两类:

                1、浏览器和服务器之间的接口

                2、外部接口(第三方提供的接口)

    web接口测试工具:

         手工测试的话可以用postman ,自动化测试多是用到 Jmeter(开源)、soupUI(开源&商业版)。

                      

        因为jmeter也能做压力测试,加之它是开源软件,所以对jmeter做接口测试做了多了一点的学习。

     

    话不多说,马上来用jmeter来跑一个接口看看:

     

       1、打开jmeter

              开源版本和可执行版本均可在Apache官方网站上下载到,解压后打开bin目录下的jmeter.bat文件,即打开了用户界面:

                    

       

       2、添加相关组件

             2.1、新建线程组

                   

             2.2、添加http请求

                   

              2.3、添加监听器--查看结果树

                     

               2.4、设置http请求相关参数

                       

     

       3、执行测试查看结果

                于监视器-查看结果树中查看测试结果

                    

             返回状态码200,表示请求成功,若请求失败则会返回400、404、500等

     

         4、脚本优化完善

              上面是一个简单的接口测试过程,实际工作中是远远不够的,需继续优化

               4.1、 添加http请求默认值

                

                 一般将服务器的ip、端口等公用的信息设置在请求默认值中:

                 

                4.2 添加响应断言和断言结果监听器

                 

                  4.3 添加其他元件

                        因测试用例较多时,基本的元件就很难有效的执行用例,我们常常还会用:正则表达式提取器、CSV DATA SET CONFIG、if条件控制器、

                      循环控制器、用户定义变量 等等控制元件

     

           5、添加大量测试用例后的执行效果

                5.1 用例分布方式

                

                 5.2 查看测试结果

                      测试结果可以通过 查看结果树、聚合报告、表格查看结果等监听器查看

                     

    展开全文
  • 接口测试自动化实战

    2018-04-22 20:54:55
    接口测试自动化实战》:https://yuedu.baidu.com/ebook/aaf72f1b42323968011ca300a6c30c225901f07d
    《接口测试自动化实战》:https://yuedu.baidu.com/ebook/aaf72f1b42323968011ca300a6c30c225901f07d
    展开全文
  • 接口测试之Jmeter接口测试自动化

    万次阅读 多人点赞 2018-07-03 18:29:31
    Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。 优势 通过Ant构建可以看到详细的执行...

    Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。

     

    优势

    通过Ant构建可以看到详细的执行结果,相比jmeter看结果直观一点,而且可以看到测试结果统计,可以做记录留备份,而单独使用jmeter只能去手动触发,而且记录不会保存,再次执行就找不到记录。通过预留备份还可以对比优化效率。最大的好处是可以异步去执行,如果通过jenkins集成,我们可以通过部署代码的时候去自动测试,自动生出测试结果。也可以通过写定时脚本,定时的去执行,比较适用于线上项目,可以定时到凌晨自动执行,早晨上班只需要看结果,去分析就可以了,也不需要测试人员专门去等。

     

     

    目录

    安装工具以及环境配置

    安装JDK

    安装Jmeter

    安装 ANT   

    Jmeter

    创建脚本:(可以使用jmeter录制一个脚本,需要jmx脚本文件)

    Jmeter  + ANT

    ANT中配置Jmeter   

    验证配置,执行构建测试

    测试报告优化:更换模板

    Jmeter  + ANT + Jenkins

    Jenkins 安装

    Jenkins 配置环境变量

    Jenkins创建项目(自动测试配置)

    1 新建项目:

    2 设置丢弃旧的构建

    3 构建触发器

    4 配置构建

    5 设置构建后操作

    测试集成

    常见问题汇总(不定期更新)


     

     

    安装工具以及环境配置

     

    安装JDK

    需要配置java环境变量,这里用的是 jdk1.8

    window 10 安装教程:https://blog.csdn.net/qq_37138756/article/details/100511976

     

    安装Jmeter

    这里Jmeter用到的版本是 :jmeter4.0

    链接:https://pan.baidu.com/s/1mDouaMBYvkW2NOCSWUfQVQ
           提取码:ftyk 

     

    安装 ANT   

      这是ANT使用的版本: apache-ant-1.10.3

        1 下载安装

          下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可,

          比如:D:\apache-ant-1.10.3

     

        2 配置环境变量(window中)

           新增 ANT_HOME 变量添加:D:\apache-ant-1.10.3

           Path 变量中添加:%ANT_HOME%\bin

           classpath 变量中添加: %ANT_HOME%\bin

           注意:变量之间用 ; 分割

     

        3 安装验证

          验证安装结果,命令行输入ant -v ,出现版本信息则安装成功

          

    注意:环境配置中如果设置成:path:%ANT_HOME%\bin (为了方便在dos环境下操作),结果环境配置不成功,需要把地址换成为 D:\apache-ant-1.10.3\bin

     

    Jmeter

     

    创建脚本:(可以使用jmeter录制一个脚本,需要jmx脚本文件)

    1 启动jmeter:通过jmeter安装目录,进入到bin目录,通过jmeter.bat(win端)启动jmeter

    如果下载的是英文版的,通过以下操作设置成中文简体

    2 创建一个线程组:设置10个线程,2秒时间执行完成,执行10次

    3 设置一个http请求:

    4 设置请求头信息:Content-Type:application/json

    5 保存脚本到jmeter目录:Ctrl+s  (我在jmeter目录下创建了一个文件名称为压力测试的文件夹,用来保存脚本)

     

     

    Jmeter  + ANT

     

    ANT中配置Jmeter   

    1 将jmeter extras目录下的ant-jmeter-1.1.1.jar 文件拷贝到ant安装目录下的lib文件夹中

          

     

     

    2  配置ANT与Jmeter的配置文件

     

      2.1 配置ant 编译文件 build.xml

        在保存脚本的目录下,拷贝下面的内容到新建的.txt文件中,并将此文件改名为:build.xml    

    <?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="D:\jmeter\apache-jmeter-4.0\apache-jmeter-4.0" />
    	<!-- jmeter生成jtl格式的结果报告的路径-->
    	<property name="jmeter.result.jtl.dir" value="D:\jmeter\apache-jmeter-4.0\apache-jmeter-4.0\ResultReport\jtl" />
    	<!-- jmeter生成html格式的结果报告的路径-->
    	<property name="jmeter.result.html.dir" value="D:\jmeter\apache-jmeter-4.0\apache-jmeter-4.0\ResultReport\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}.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="D:\jmeter\apache-jmeter-4.0\apache-jmeter-4.0\backups" 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-detail-report_21.xsl" />
    
    		<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
    		<copy todir="${jmeter.result.html.dir}">
    			<fileset dir="${jmeter.home}/extras">
    				<include name="collapse.png" />
    				<include name="expand.png" />
    			</fileset>
    		</copy>
    	</target>
    
    </project>
    				
    
    

          

    2.2 按实际情况修改build.xml文件,如下:

    如果bulid文件有问题,这是我使用的文件,目录替换掉就行了:

    链接:https://pan.baidu.com/s/1wPr04eunQcTvHoR5njyieQ 
    提取码:lrnf

     

    注意:

    1 生成报告路径,ResultReport可以不用创建,如果创建了必须保证文件夹中为空

    2 建议路径地址最好不要使用中文,避免使用的时候出现问题

    3 如果避免文件覆盖,需要保留测试报告,可以修改文件成以下示例

     

     

    2.3 配置jmeter.properties

           配置jmeter报告输出格式为xml

                    在jmeter安装目录bin目录下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv 为

                   jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#

     

     

    注意:编码格式 utf-8

     

    验证配置,执行构建测试

    1 进入到脚本保存目录

    2 在地址栏输入cmd进入命令行,输入ant run ,执行测试

    看到build successful 则说明构建测试成功:

    3 进入保存报告的路径下查看测试结果报告:

    按build.xml文件中设置的测试报告地址找到html版测试报告,在build.xml我们设置的路径是:ResultReport目录

    打开看看:测试结果展现了用例数、成功率、用例执行时间等结果参数:

     

    测试报告优化:更换模板

          用jmeter自带的测试报告得到的测试报告信息并不是很全,这里参考网上的方法,做一个优化

     

        1 下载优化模板 jmeter.results.shanhe.me.xsl,拷贝到jmeter的extras目录中,

               如C:\apache-jmeter-2.12\extras

        百度云下载地址:https://pan.baidu.com/s/1TPZFEJdtgAohDLZFg4TsiQ 密码:zwp3

         CSDN 下载:https://download.csdn.net/download/qq_37138756/10493615

        

        

       2 设置测试输出报告要输出的内容

              同样在jmeter.properties中,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true

        

        

        3  设置build文件的报告模板为优化后的模板:jmeter.results.shanhe.me.xsl

     

    4    按步骤6的方式再次用ant构建测试,查看优化后的测试报告

    (注意: ResultReport 文件是生成报告文件夹。每次启动命令之前,为了避免模板信息,数据信息错误,文件夹内容必须清空)

     

    Jmeter  + ANT + Jenkins

    以下示例是我在另一台电脑完成,服务路径稍有不同,请自行替换目录

    Jenkins 安装

    请参考我另一篇文章,来安装Jenkins和配置

    Jenkins 安装与配置:https://blog.csdn.net/qq_37138756/article/details/103559827

     

    Jenkins 配置环境变量

    jmeter  + ant + jenkins集成需要以下配置:

     

    插件安装(已安装请忽略):

    运行ant需要插件:Ant Plugin、Ant In Workspace

    HTML测试报告展示的插件:HTML Publisher Plugin、Performance plugin

     

    HTML Publisher Plugin下载(为了方便在jenkins中查看html测试报告):

     

    Performance plugin下载(根据测试工具获取性能KPIs):

     

    环境配置:

    需要配置jdk,ant环境,配置完成后点"Save"

     

    Jenkins创建项目(自动测试配置)

     

    1 新建项目:

     

    输入项目名称,选择"Freestyle project"项目,点击"OK"

     

    2 设置丢弃旧的构建

    Jenkins在每一次的执行构建后,都会对该构建的项目生成一个历史构建记录,测试的项目越来越多,长期的构建,历史版本同样也越来越多。每编译执行一次,就会生成一个构建记录,预留的磁盘越来越满,有可能面临崩溃的风险。

     

    3 构建触发器

    可以通过设置去指定什么时候去触发,也可以不设置,通过手动构建触发

    Build periodically:Jenkins采用了著名的UNIX任务调度工具CRON所使用的配置方式。

    用5个字段代表5个不同的时间单位(中间用空格隔开):分 时 日 月 星期几

    例如:

    Schedule :

    0 * * * *   代表每小时0分的时候构建1次项目

    */10 * * * *   每隔10分钟一次

    45 10 * * 1-5    每星期的星期一到星期五的10:45分执行

    "0 15 10 * * ? 2019"   2019年的每天上午10:15触发 

     

    4 配置构建

    注意:

    构建需要指定构建项目,如果不指定项目,默认执行的是Jenkins中workspace下的脚本,如果workspace下没有脚本则构建会报错

     

    5 设置构建后操作

    设置HTML Publisher 配置信息,方便在jenkins中查看html测试报告

    参数说明:

    HTML directory to archive: 存放html报告的路径

    Index page[s]: 因为我这边在build.xml文件中设置的生成报告名称是时间戳格式的,所以我这边设置了*.html,为了在jenkins中打开html报告

    Report title: 默认,不可更改

     

    设置Performance plugin配置信息,方便在jenkins中查看测试性能

     

    测试集成

     

    构建任务

     

    点击任务进去以后,可以看到运行日志,当看到success字样的时候表示构建成功

     

    查看html报告

    可以点击进去看测试报告

     

    查看新能KPIs

    可以看到每次测试的性能报告

     

     

    常见问题汇总(不定期更新)

    根据网友真实遇到问题,进行整合

     

    错误 1:前言中不允许有内容

    在执行ant run的时候,构建出现前言中不允许有内容错误

    排查问题

    1.1 保证build.xml和执行脚本在同一个目录下

    1.2  保证 jmeter安装目录bin目录下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv 为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#

    1.3 编码,编码,编码,一定要注意编码问题(好几个网友碰到了编码问题),务必为UTF-8,可以使用Notepad++来查看下编码,一定要保证在Notepad中页面右下角,编码为以下图所示

     

    问题 2: Unexpected text "? ?"

    在执行ant run的时候,构建出现build.xml:X: Unexpected text "? ?" 错误

     

    排查问题

    2.1 确定文件编码,务必为UTF-8,可以使用Notepad++来查看下编码,一定要保证在Notepad中页面右下角,编码为以下图所示

     

    2.2 通过Notepad排查文档中特殊字符,保证文档中全部文字,包括空格都是utf-8格式

     

    问题 3:构建完成查看测试报告,样式展示错误

    原因: 样式加载错误

    解决:在项目启动的时候添加执行脚本,来保证样式加载

    3.1 下载 Startup Trigger 和 Groovy plugin插件

     

    3.2 在项目配置中添加启动执行脚本

    • 在Build Triggers模块下,勾选Build when job nodes start;
    • 在Build模块下,Add build step->Execute system Groovy script,在Groovy Script中输入配置命令
    • System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

    3.3 配置完成后,点击保存,重新构建即可解决问题

    展开全文
  • WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试) 接口测试与数据驱动1简介 数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。...

    WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试)

     接口测试与数据驱动

    1简介

        数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。

     

    2 数据驱动与jmeter接口测试

          我们已经简单介绍了接口测试参数录入及测试执行的过程,因为大量的测试脚本与测试数据内聚在一起,使得我们的测试脚本的可移植性及可维护性变得很不好,所以我们接下来采取了csv格式表格保存测试数据来驱动测试的方式。

    2.1 新建一个csv文件

         新建一个txt文档文件,重命名文件,修改文件后缀名为csv,如test.csv,如下图

     

    2.2 用excel表格打开新建的csv文件,设计测试用例

       

    2.3 设计测试脚本读取csv中的测试用例数据

      2.3.1 线程组下新增循环控制器,循环次数设置为永远

        
      

      2.3.2 循环控制器下新增CSV Data Set ConFig控件

       

     2.3.3 添加如果控制器,来做用例优先级的筛选执行

       


       2.3.4 根据调用方法选择请求方式

    通过if选择器区分GET与POST方法的请求,配置http请求

     

    Post请求的配置方式 :post请求参数放在body data中 ,(也可以通过设置请求头 content-type:application/json 来传入json格式的参数)。

                                               

    Get 请求的配置方式:get请求的参数配置url后面


    2.3.5 配置响应断言

     

     

    2.3.6执行测试,查看结果

         通过查看结果树控件查看测试结果详情,绿色为通过

     

    展开全文
  • 接口测试之Jmeter接口测试自动化 (一) 软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试–&gt;接口测试–&gt;界面自动化测试。 单元测试一般有开发人员自行完成,而界面自动化测试...
  • WEB接口测试之Jmeter接口测试自动化 (四)(持续构建) Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的...
  • WEB接口测试之Jmeter接口测试自动化 (二)(数据分离) 通过逐个录入的方式,好不容易将需要测试几十个接口的300多个测试用例录入sampler-http请求中,固定的测试环境跑起来也还感觉良好。不料在新服务器环境中跑...
  • 接口测试自动化不仅可以减轻重复工作的人力成本,也可以提高测试质量和准确率。本文主要介绍我对于接口测试自动化架构的理解。 01.自动化框架结构 如下是我的自动化框架结构,使用execl作为数据驱动。 ...
  • 软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试--&gt;接口测试--&gt;界面自动化测试。 单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在繁杂...
  • 接口测试自动化生成框架 作者 季哥 发布于 2012年1月13日 | 注意: 挥一挥衣袖,带走满满干货,关注活动大本营,时不时发福利呦! 分享到: 微博 微信 Facebook Twitter 有道云笔记 邮件分享 ...
  • Postman接口测试自动化介绍

    万次阅读 2018-10-30 20:07:50
    其实它还具有很强大的接口自动化测试功能,它其实自己就提供了一个框架,采用js脚本编写的。其功能百度都可以查到使用方法,但感觉有点零散,我这里整理了一下,把使用postman进行接口测试的方法整合了,图文并茂,...
  • 工作中,每次执行测试都是在IDE里手动执行测试代码,很是麻烦,再考虑到后期的回归测试需要,所以产生了把该接口测试自动化的想法。最初的做法是将测试数据保存在excel中,测试代码从excel中读取测试数据,然后执行...
  • Ant+Jmeter+Jenkins实现接口测试自动化

    千次阅读 2017-05-17 13:24:59
    用Jmeter编写接口测试用例,把用例保存到...以后每次可以用Jmeter写接口测试用例,上传svn,触发Jenkins,实现接口测试自动化。 环境搭建和本地Ant测试 安装Ant,配置Ant环境变量; Ant官网下载: http://ant.ap
  • 软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试--&gt;接口测试--&gt;界面自动化测试。单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在繁杂的...
  • 软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试--&gt;接口测试--&gt;界面自动化测试。单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在繁杂的...
  • 接口测试自动化基本框架搭建

    千次阅读 2020-08-16 20:47:31
    接口测试基本框架搭建(common部分) 项目基本结构 1.common:封装的各种处理的方法 2.conf:配置文件 3.data:用例数据 4.logs:日志文件 5.reports:测试报告 6.testcases:封装测试用例类 7.runner.py:启动文件 **...
  • 上海沙龙 - 接口测试自动化经验分享http://www.automationqa.com/uchome/space.php?do=event&id=1
  • 接口测试与数据驱动 1简介  数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。   2 数据驱动与jmeter接口测试  我们已经简单介绍了接口...
  •  上面是一个简单的接口测试过程,实际工作中是远远不够的,需继续优化  4.1、 添加http请求默认值    一般将服务器的ip、端口等公用的信息设置在请求默认值中:    4.2 添加响应断言和断言结果...
  •  2 数据驱动与jmeter接口测试 我们已经简单介绍了接口测试参数录入及测试执行的过程,因为大量的测试脚本与测试数据内聚在一起,使得我们的测试脚本的可移植性及可维护性变得很不好,所以我们接下来采取了csv格式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,905
精华内容 6,362
关键字:

接口测试自动化