在上一篇中,我们对第一个自动化接口测试用例做了初步优化和断言,这一篇我们处理POST请求. 4.1 发送POST方法请求 post方法和get方法是我们在做接口测试时,绝大部分场景下要应对的主要方法. 在发送请求时他们显著的一个差别就在于,get方法我们只需要组在url内发送即可,post我们还需发送一个请求主体. 4.1.1 修改restfulClient实现发送POST请求 //通过httpclient获取post请求的反馈 public void sendPost(String url,…
在上一篇中,我们搭建好了HttpClient + TestNG + Java的自动化接口测试环境,这一篇我们就赶紧开始编写我们的第一个接口测试用例. 本篇会对问题解决的思路进行更详尽的阐述. 2.1 确定被测接口 首先一个现实的问题,我们要有一个待测接口来验证我们自动化方案的可行性. 我们可以选择在自己的本地去部署一套待测接口,当然也可以选择公网上的接口去进行测试,这里我们选择后者. 我选定的是apishop这个站点:https://www.apishop.net/ 这个站点提供非常多,种类齐全…
在上一篇中,我们写了第一个get请求的测试类,这一篇我们来对他进行初步优化和封装 3.1 分离请求发送类 首先想到的问题是,以后我们的接口自动化测试框架会大量用到发送http请求的功能. 那么这一部分的处理,可以将他分离出来,以后的测试类只需要调用请求类的方法实现发送请求和接收反馈的功能. 在我们的项目目录src/main/java下,新建一个包名为com.test.client,在包下新建restfulClient.java. 这个类我们把上一篇写的发送请求和处理反馈的代码迁移过来,并做出一些…
1.1 接口测试简介 1.1.1 什么是接口测试 开始学习接口自动化测试之前,我们先要来了解什么是接口,以及什么是接口测试. 我们都知道,测试从级别上划分可以分为 组件测试 集成测试 系统测试 验收测试 其中在集成测试这个阶段,一个最主要的测试活动就是接口测试.在组件测试中,我们对单个组件自身的功能性能等指标进行验证,上升到集成测试级别,我们则进一步去验证组件之间的交互和集成.而组件之间的交互,就是通过‘接口’来达成的.所以一定程度上,集成测试和接口测试概念是大幅度重叠的.(就组件集成/接口测试…
在上一篇中,我们实现了post方法请求的封装和测试,这一篇我们做测试数据的分离. 5.1 测试数据处理思路 5.1.1 测试数据分离 这里我想到,我们之前的测试demo里,全都是在testNG类里去写入测试请求的相关数据. 如果测试到达一定规模,这样去维护测试数据会当然是不行的. 比较好的办法应该是将测试数据分离出来,通过外部文件来管理,然后读取文件驱动测试. 这个外部文件用Excel来做会比较合适,设计如下: 考虑用表单来驱动请求的方法,暂时写上了Get,Post,Put和Delete方法.当…
一个月一更的节奏~ testNg是一个开源的自动化测试框架..具体那些什么特点的就不想打了- -,贴张图(虽然也看不懂): 学习网站:https://www.yiibai.com/testng 一样是在java接口自动化那个课程中接触到这个框架,虽然老早学了还是来总结下. 配置Testng,我直接在maven中配置的, Testng的基本注解: //最基本的注解,用来把方法标记为测试的一部分 @Test   //BeforeMethod 是在测试方法之前运行的 @BeforeMethod //A…
当需要测试的方法含有参数时,可以通过@Parameters 注解给该方法传递参数. 比如下面这个类,要调用whoami则必须写一个main函数,然后在main函数中调用该函数,并传入参数,使用TestNG的@Parameters参数则不需要这么做. package ngtest; import org.testng.annotations.Parameters; import org.testng.annotations.Test; public class Student { @Paramet…
pom.xml导入包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/PO…
在maven项目的pom.xml文件中导入TestNG <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma…
简介 前面虽然实现了参数的关联,但是那种只是记流水账的完成功能,不便于维护,也没什么可读性,随着水平和技能的提升,再返回头去看前边写的代码,简直是惨不忍睹那样的代码是初级入门的代码水平都达不到.接下来这篇由我带领小伙伴们把每一 个鼠标点击动作写成一个函数,这样更方便维护了,而且可读性也高,后期其他维护人员在维护代码的时候看起来赏心悦目,就不会骂娘了. 参数化的思维只需记住一点:不要写死,这样就便于维护,否则就会牵一发而动全身,一处修改导致处处修改,不便于维护. 登录函数 1.s 参数是 sess…