原文转自:https://testerhome.com/topics/11566

四种方式包括POST、DELETE、PUT、GET,对应的功能是增、删、改、查。

1.POST

POST:向指定资源提交数据进行处理请求。
url格式:http://IP:port/xx
测试数据格式:{aa:11,bb:‘BB’}
详情参考前面的文章
https://testerhome.com/topics/10714

2.PUT

PUT:向指定资源位置上传其最新内容。
url格式:http://IP:port/xx/id}{
测试数据格式:{aa:11,bb:‘BB’}

2.1.转换测试数据

2.1.1.将用例数据(蓝色部分)从excel读取出来,并保存在列表中

测试用例写在excel里面,第一列是编号,第二列到倒数第7列是填写的测试数据,
最后五列分别是用例描述,提交数据,结果返回,预期结果,实际结果,是否一致。
其作用:
用例描述:描述这条用例的设计的意义
提交数据:记录由测试数据转换成的json字符串,
结果返回:记录的接口提交测试数据后所返回的结果
预期结果:用例的预期,是通过还是不通过
实例结果:测试后,该用例是否通过
是否一致:预期结果与实际结果是否一致

基于 http 四种提交方式的接口自动化实例

2.1.2.相关代码

基于 http 四种提交方式的接口自动化实例

2.1.3.代码流程图

基于 http 四种提交方式的接口自动化实例

2.1.4.生成字典格式的字符串,并保存到txt文件中

使用zip函数,将列表的dataresult的第1项(name、remark、type)与第2、3、...、最后 项的数据合并起来,以字典的形式放入列表result中。

基于 http 四种提交方式的接口自动化实例

最后将列表result中的每一条数据写到txt文件中

基于 http 四种提交方式的接口自动化实例

2.1.5.备注

涉及操作文件:
1:保存测试用例的excel文件
2:保存每条测试数据转换成json格式的txt文件
涉及方法changDataToJson()

基于 http 四种提交方式的接口自动化实例

2.2.提交数据并且记录返回结果

2.2.1.使用接口循环提交参数

基于 http 四种提交方式的接口自动化实例

2.2.2.修改url

因为put方式的提交格式是http://IP:port/xx/id
所有url必须加上id值

基于 http 四种提交方式的接口自动化实例

2.2.3.记录返回的结果

基于 http 四种提交方式的接口自动化实例

2.2.4.相关代码

基于 http 四种提交方式的接口自动化实例

2.2.5.测试流程图

基于 http 四种提交方式的接口自动化实例

2.3.写入结果

2.3.1.另存结果文件

原用例

基于 http 四种提交方式的接口自动化实例

结果文件
基于 http 四种提交方式的接口自动化实例

2.3.2.写入实际结果

获取结果返回信息
如果返回信息中含有“true”,实际结果项写入“pass”
如果返回信息中含有“false”,实际结果项写入“no pass”

基于 http 四种提交方式的接口自动化实例

2.3.3.判断预期与实际是否一致

实例化类getExcelData,
调用方法getData2
获取原用例文件中,预期列的所有数据,并保存在列表expect

基于 http 四种提交方式的接口自动化实例

类getExcelData 相关代码

基于 http 四种提交方式的接口自动化实例

将预期结果与实际结果对比,如一致,写入“是”,否则,写入“否”

基于 http 四种提交方式的接口自动化实例

2.3.4.相关代码

基于 http 四种提交方式的接口自动化实例

2.4.读取并运行所有用例

2.4.1.汇总信息

将每个模块的接口及对应用例文件等信息都记录在一个汇总的Excel文件中

基于 http 四种提交方式的接口自动化实例

2.4.2.读取列信息

读取每一列信息,并保存到对应列表中

基于 http 四种提交方式的接口自动化实例

2.4.3.运行用例

基于 http 四种提交方式的接口自动化实例

3.DELETE

DELETE:删除指定资源
格式:http://IP:port/xx/id}{

3.1.用例设计

3.1.1.用例文件各项解释

编号:用例编号
模块:该接口属于系统的模块项
接口描述:该接口url的作用
接口:提交系统的接口url
描述:该用例的意义
预期:提交接口url后,指定的记录能否成功删除
涉及sql语句:能够在数据库查询到对应资源的sql语句
测试前判断:提交接口url前,执行sql语句,判断该资源是否存在
返回:提交接口url后,系统返回的信息
测试后判断:提交接口url后,再次执行sql语句,判断该资源是否存在
实际:判断是否成功删除
是否一致:判断预期结果是实际结果是否一致

基于 http 四种提交方式的接口自动化实例

3.2.测试流程

3.2.1.流程图

基于 http 四种提交方式的接口自动化实例

3.3.步骤对应代码

3.3.1.读取并运行sql

类sqlHelper_get 的方法getCount,以sql语句为参数进行查询,并返回结果记录数

基于 http 四种提交方式的接口自动化实例

类getExcelSql 的方法runSql,读取用例文件的指定sql语句列的内容,并存放到列表sql中
实例化类sqlHelper_get,并且以列表sql中的每个元素为参数,调用方法getCount,
每一次调用方法后的返回结果,保存在列表result中

基于 http 四种提交方式的接口自动化实例

类request_delete的方法isExist,
实例化类getExcelSql,并且以用例文件为参数调用runSql
将返回结果保存到列表sqlresult中
将列表sqlresult中元素依次写入新文件中,如果元素为0,写入“记录不存在”,否则,写入“存在记录”

基于 http 四种提交方式的接口自动化实例

新文件内容如下

基于 http 四种提交方式的接口自动化实例

3.3.2.读取、执行接口url

类getExcelData的方法getData2,获取指定Excel文件指定列的内容,并存放到列表中

基于 http 四种提交方式的接口自动化实例

类request_delete的方法 run_test
实例化类getExcelData,并且调用方法getData2,获取用例文件的第四列数据(接口url),并存放到列表url中。
依次提交列表url的每一个元素,并记录返回信息

基于 http 四种提交方式的接口自动化实例

3.3.3.写入结果

提交接口url后,再查询sql,查询记录是否存在,结果保存在sqlresult
列表中
获取第六列与第八列的数据,分别保存在列表expect与before 中

基于 http 四种提交方式的接口自动化实例

基于 http 四种提交方式的接口自动化实例

将返回信息写入
如果执行SQL后,查无记录,则写入“记录不存在”;反之,写入“记录存在”

基于 http 四种提交方式的接口自动化实例

判断实际情况
1:如果在提交接口url前,执行sql并查无记录的话,写入“无法删除”(本来就没有那条记录)
2:如果分别在提交接口url前后,执行sql并查有记录的话,写入“无法删除”(执行删除接口后,记录依旧存在,删除功能出bug)
3:提交接口url前,执行sql并查有记录;执行接口url后,执行sql并查无记录的话,写入“成功删除”(删除前,存在记录,删除后,记录不存在)

基于 http 四种提交方式的接口自动化实例

将预期结果与实际结果对比,如果一致,则“是否一致”项写入“是”;
反之,写“否”
最后将内容另存到新文件

基于 http 四种提交方式的接口自动化实例

最终结果文件

基于 http 四种提交方式的接口自动化实例

4.GET

GET:向指定位置获取资源
格式:http://IP:port/xx?(参数)

4.1.用例设计

编号:用例编号
模块:该接口属于系统的模块项
接口描述:该接口url的作用
接口:提交系统的接口url
参数:接口提交的参数,如果是0,提交时不需要提交参数
描述:该用例的意义
涉及sql语句:能够在数据库查询到对应条件的sql语句
数据库查询总数:执行sql语句后,数据库返回的记录数
实际结果返回:提交接口url后,系统返回的信息
实际查询总数:提交接口所返回的记录数
是否一致:查询数据库的结果与提交接口系统返回的结果对比

基于 http 四种提交方式的接口自动化实例

4.2.测试流程

4.2.1.流程图

基于 http 四种提交方式的接口自动化实例

4.3.步骤对应代码

4.3.1.将测试数据转换为json格式

略,参考前面

4.3.2.使用接口提交对应参数,并记录返回结果

略,参考前面

4.3.3.运行sql并记录结果

类sqlHelper_get 的方法getCount,以sql语句为参数进行查询,并返回结果记录数

基于 http 四种提交方式的接口自动化实例

类getExcelSql 的方法runSql,读取用例文件的指定sql语句列的内容,并存放到列表sql中
实例化类sqlHelper_get,并且以列表sql中的每个元素为参数,调用方法getCount,
每一次调用方法后的返回结果,保存在列表result中

基于 http 四种提交方式的接口自动化实例

4.3.4.写入结果

将查询数据库的结果与接口提交参数后系统返回的结果做对比
如果一致,“是否一致”项写“是”,反之,写“否”

基于 http 四种提交方式的接口自动化实例

最终结果展示

基于 http 四种提交方式的接口自动化实例

共收到 6 条回复

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-31
  • 2021-07-16
  • 2022-12-23
  • 2021-06-14
  • 2022-12-23
  • 2022-01-16
猜你喜欢
  • 2021-07-19
  • 2022-01-10
  • 2021-07-04
  • 2022-12-23
  • 2022-12-23
  • 2022-03-06
  • 2022-12-23
相关资源
相似解决方案