接口测试
东方欲晓-
IT民工,码农
展开
-
Java+Maven+TestNG接口(API)自动化测试教程(十) 使用 Jenkins 构建自动化测试持续集成
现在代码可以运行了,但是每次运行都需要我们手工去执行,并且测试报告也只能在执行测试的电脑上才能看到,我们希望能够定时自动执行测试,并且能够做到自动发送测试报告到相关人员的电子邮箱中。Jenkins 正好可以很好的完成以上诉求,那我们首先下载并安装好Jenkins(网上有很多相关资料和教程,这里略过)。接下来说下具体的配置步骤:10.1 相关的工具软件在 Jenkins 服务器中安装和配置 JDK:必须配置,Java 写的程序哦!Maven:必须配置,我们建立的就是 Maven 类型的项.原创 2020-06-25 17:12:34 · 1745 阅读 · 3 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(九) 使用 Extent Reporters 美化测试报告
TestNG 自己生成的测试报告不够美观,我们可以使用 Extent Reporters 来 美化测试报告。9.1 在 pom.xml 中加入支持 extent reporters 的 XML 片段增加内容后的完整的 pom.xml 文件内容如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo.原创 2020-06-25 16:42:15 · 1226 阅读 · 0 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(八) Post,Put 和 Delete 方法
8.1 发送 POST 方法post 方法和 get 方法是我们在做接口测试时,用的最多的两个请求方法。 在发送请求时它们显著的一个差别就在于,get 方法我们只需要将 url 发送即可,post 我们还需发送一个请求主体;在作用方面,get 方法用于查询,不会改变服务器中的 信息;而 Post 方法可用于修改服务器中的信息。8.1.1 修改 HttpClientUtil 实现发送 POST 请求和获取响应根据请求的数据是 JSON 对象还是表单形式的键值对,分成了 senPostByJso原创 2020-06-21 13:56:52 · 1576 阅读 · 1 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(七) TestNG 断言
7.1 引入 TestNG上一章中我们还没有很好的手段来执行测试和验证结果,这里我们引入 TestNG 来帮 助完成这部分功能。7.1.1 创建 TestNG 测试类在项目目录 src/test/java 下的包 com.mytest.httpclient.test 下新建一个支持testNG 的类,类名为 testGet。写入以下测试代码:package com.mytest.httpclient.test;import java.io.IOExcept...原创 2020-06-21 13:00:37 · 6239 阅读 · 2 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(六) 初步封装
在上一章中,我们写了第一个 get 请求的测试类,这一章我们来对它进行初步优化和 封装。6.1 分离请求发送类首先想到的问题是,以后我们的接口自动化测试框架会大量用到发送 http 请求的功能。那么这一部分的处理,可以将它分离出来,以后的测试类只需要调用请求类的方法实 现发送请求和接收响应。在我们的项目目录 src/main/java 下,新建一个包名为 com.mytest.httpclient, 在包下新建一个类,名称为 HttpClienUtil。这个类我们把上一章写的发送请求和.原创 2020-06-20 13:29:39 · 2425 阅读 · 0 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(五) Get 方法的接口测试
5.1 创建发送接口的测试类我们的项目需要有这样一个类,它能够实现发送请求,接收响应,验证响应的功能。 暂时我们只考虑发送 Get 方法的请求。5.1.1 创建所需变量在我们的第一个测试类中,我们需要使用 httpClient 来发送请求,接收响应,然后对响应信息做一个验证。在我们的项目 src/test/java 目录下新建一个包名为:com.myteest.httpclient.test,在包下新建一个普通类:SimpleGetTest首先我们考虑需要如下变量:Strin.原创 2020-05-30 21:05:29 · 1969 阅读 · 0 评论 -
ExtentTestNGReporterListener.java文件的源代码
import com.aventstack.extentreports.ExtentReports;import com.aventstack.extentreports.ExtentTest;import com.aventstack.extentreports.ResourceCDN;import com.aventstack.extentreports.Status;import com.aventstack.extentreports.model.TestAttribute;import.原创 2020-05-30 20:56:13 · 700 阅读 · 0 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(四) Postman 简介
4.1 确定待测接口我们需要有待测的接口,使我们可以发出请求并能正确返回请求结果。我 们选用 https://reqres.in/这个网站作为我们接口测试的网站。这个网站提供 了常用的 Get,Post 接口,也有 Put,Delete 等接口,从下图可以看到,我们可 以对这个接口进行符合标准格式的请求,红框中给出的就是我们要去验证的响 应信息,所以很适合我们练习选用。 Postman 简介 Postman 是一款很好用的 API/接口功能测试工具,支持所有类型的 HTTP 请求..原创 2020-05-30 20:48:32 · 1414 阅读 · 0 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(三)在Eclipse中新建一个Maven项目
3.1 必备工具安装3.1.1 JDK:使用Java编程,JDK必须安装和配置好。建议下载和安装JDK 1.8, 网上有很多相关资料和教程,这里略过。3.1.2 Eclipse:进行Java编程的IDE(集成开发环境),能大幅度提高工作效率。建议安装最新版本(最新版本应该已经包含了Maven插件,无需在Eclipse中再安装和配置Maven插件)。网上有很多相关资料和教程,这里略过。3.1.3 Maven:可自动下载Java项目相关的Jar文件,自动打包测试等,是Java编程人员必备神器。建议安装最原创 2020-05-24 17:08:00 · 2005 阅读 · 0 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(二) HttpClient和TestNG简介
因为本人更熟悉和偏爱Java,所以选用了Java语言作为接口用例脚本编写的语言。虽然现在很多人使用Python语言编写自动化测试脚本,但个人觉得Python语言不如Java语言严谨(Python是弱类型,Java是强类型),出现变量类型错误不容易被发现,当代码量较大时(大于1000行以上),使用Java无疑效率更高(呵呵,欢迎反对的同学来喷)。 因为选择了Java,所以采用了Apache的开源框架HttpClient作为接口调用的底层框架。 HTTP 协议是现在 Internet 上使用...原创 2020-05-24 16:56:08 · 2506 阅读 · 1 评论 -
Java+Maven+TestNG接口(API)自动化测试教程(一)概述
随着移动互联网的逐渐普及,越来越多的人在手机中安装和使用 APP,APP的用户体验对于其厂商来说就显得尤为重要。有个常识大家肯定知道:APP 一 般是通过 HTTP/HTTPS 协议的接口来获取所需的数据和相应的业务逻辑,所以接 口测试的重要性越来越凸显。由于当前市场竞争的加剧,很多 APP 发版周期变得越来越短,3-4 天就发一 次版也很平常了。这种情况下,自动化测试就体现出其价值和优势来了。相比手工测试,自动化测试快速高效,测试结果可靠可信,不会因不同人员测试而 给出不同的测试结果。说起自动..原创 2020-05-24 16:24:42 · 2988 阅读 · 0 评论 -
TestNG+Maven+ExtentReports在Jenkins中的测试报告出坑记(四):测试报告邮件内容实用化与美化解决方案
好了,现在让Jenkins开跑吧,一切似乎都还不错。但是,看到收到的邮件,觉得又不好了。默认情况下,收到的测试结果邮件内容如下:这样的内容确实有点少,如果能把测试过程展示出来不是更好么?还有不太美观啊,所以得想办法优化下。首先要做的就是在Jenkins中安装上Email Extension插件,通过设置该插件可以满足绝大多数常见的email相关的需求。安装好之后,就开始配置这个插件...原创 2020-03-21 15:37:39 · 921 阅读 · 0 评论 -
TestNG+Maven+ExtentReports在Jenkins中的测试报告出坑记(三):Build结果始终为Success不能真实反映测试结果的解决方案
现在测试可以在Jenkins中自动执行了,但又发现一个问题,就是测试结果中实际中有出现failed的,但每次Jenkins都认为跑成功了,给出的结果是Success。 这时我想到了Log Parser插件(之前有点印象),它可以用来解析log,然后根据解析结果来更正测试报告结果。 果断下载并安装好该插件后,可以在已安装插件中看到该插件。 ...原创 2020-02-29 23:40:38 · 628 阅读 · 0 评论 -
TestNG+Maven+ExtentReports在Jenkins中的测试报告出坑记(二):测试报告乱码问题及解决方案
执行Jenkins后,测试报告中出现乱码,这个问题相对简单,肯定是编码不一致导致的。先后试过几种解决方案,最后发现其实只需要在电脑中增加一个系统环境变量并重启Jenkins就可以解决该问题。先查看Jenkins的系统信息中的file.encoding的值是什么?以Jenkins管理员登录,先后点击Manage Jenkins->System Information正是因为fi...原创 2020-02-29 23:37:23 · 629 阅读 · 0 评论 -
TestNG+Maven+ExtentReports在Jenkins中的测试报告出坑记(一):样式不生效及解决方案
这段时间因为疫情,一直在家,就顺便玩了下Extent报表,结果遇到了两个大坑,先说个人认为花了最多时间去解决的一个坑:报告没有样式效果,非常丑陋。于是想办法解决这个问题,在网上搜了下,都是说通过在代码加上这一句:htmlReporter.config().setResourceCDN(ResourceCDN.EXTENTREPORTS);如果还不行,或者改为这样:htmlRep...原创 2020-02-29 23:34:50 · 1407 阅读 · 2 评论 -
使用Fiddle手机抓包、捕获流量数据介绍
Fiddler通过代理的方式获取程序http/https通讯的数据,可以用其检测所有客户端和服务器的交互情况及http请求,支持监视、设置断点、甚至可以修改输入输出数据等功能。同时也可以使用fiddler作为代理服务器抓取第三方设备的数据包。 1、修改设置Tools -> FiddlerOptions,接着进行如下设置,设置需要监听的端口号(默认8888),勾选“Allowremote原创 2016-08-29 11:22:26 · 12114 阅读 · 0 评论 -
Loadrunner模拟JSON接口请求进行测试
一、loadrunner脚本创建1.Insert - New step -选择Custom Request - web_custom_request2.填入相应参数3.生成脚本,并修改如下(参数中的引号"前需要加斜杠\转译) Action(){web_custom_request("web_custom_request","URL=h转载 2017-06-21 19:55:56 · 455 阅读 · 0 评论 -
性能测试初探---接口性能测试
(一).性能指标PV: PageView, 页面浏览量或点击量,用户每次刷新即被计算一次;用户的一次刷新,给服务器造成了一次请求。UV: UniqueVisitor, 访问你网站的一台计算机客户端为一个访客,0:00 - 24:00 内相同的客户端仅记一次。TPS: Transaction Per Second 每秒系统处理的交易或事物的数量,衡量系统处理能力的重要指标。RT: 响转载 2017-06-21 20:00:42 · 1771 阅读 · 0 评论