原文转自:https://testerhome.com/topics/11566
四种方式包括POST、DELETE、PUT、GET,对应的功能是增、删、改、查。
POST:向指定资源提交数据进行处理请求。
url格式:http://IP:port/xx
测试数据格式:{aa:11,bb:‘BB’}
详情参考前面的文章
https://testerhome.com/topics/10714
PUT:向指定资源位置上传其最新内容。
url格式:http://IP:port/xx/id}{
测试数据格式:{aa:11,bb:‘BB’}
测试用例写在excel里面,第一列是编号,第二列到倒数第7列是填写的测试数据,
最后五列分别是用例描述,提交数据,结果返回,预期结果,实际结果,是否一致。
其作用:
用例描述:描述这条用例的设计的意义
提交数据:记录由测试数据转换成的json字符串,
结果返回:记录的接口提交测试数据后所返回的结果
预期结果:用例的预期,是通过还是不通过
实例结果:测试后,该用例是否通过
是否一致:预期结果与实际结果是否一致
使用zip函数,将列表的dataresult的第1项(name、remark、type)与第2、3、...、最后 项的数据合并起来,以字典的形式放入列表result中。
最后将列表result中的每一条数据写到txt文件中
涉及操作文件:
1:保存测试用例的excel文件
2:保存每条测试数据转换成json格式的txt文件
涉及方法changDataToJson()
因为put方式的提交格式是http://IP:port/xx/id
所有url必须加上id值
原用例
获取结果返回信息
如果返回信息中含有“true”,实际结果项写入“pass”
如果返回信息中含有“false”,实际结果项写入“no pass”
实例化类getExcelData,
调用方法getData2
获取原用例文件中,预期列的所有数据,并保存在列表expect
类getExcelData 相关代码
将预期结果与实际结果对比,如一致,写入“是”,否则,写入“否”
将每个模块的接口及对应用例文件等信息都记录在一个汇总的Excel文件中
读取每一列信息,并保存到对应列表中
DELETE:删除指定资源
格式:http://IP:port/xx/id}{
编号:用例编号
模块:该接口属于系统的模块项
接口描述:该接口url的作用
接口:提交系统的接口url
描述:该用例的意义
预期:提交接口url后,指定的记录能否成功删除
涉及sql语句:能够在数据库查询到对应资源的sql语句
测试前判断:提交接口url前,执行sql语句,判断该资源是否存在
返回:提交接口url后,系统返回的信息
测试后判断:提交接口url后,再次执行sql语句,判断该资源是否存在
实际:判断是否成功删除
是否一致:判断预期结果是实际结果是否一致
类sqlHelper_get 的方法getCount,以sql语句为参数进行查询,并返回结果记录数
类getExcelSql 的方法runSql,读取用例文件的指定sql语句列的内容,并存放到列表sql中
实例化类sqlHelper_get,并且以列表sql中的每个元素为参数,调用方法getCount,
每一次调用方法后的返回结果,保存在列表result中
类request_delete的方法isExist,
实例化类getExcelSql,并且以用例文件为参数调用runSql
将返回结果保存到列表sqlresult中
将列表sqlresult中元素依次写入新文件中,如果元素为0,写入“记录不存在”,否则,写入“存在记录”
新文件内容如下
类getExcelData的方法getData2,获取指定Excel文件指定列的内容,并存放到列表中
类request_delete的方法 run_test
实例化类getExcelData,并且调用方法getData2,获取用例文件的第四列数据(接口url),并存放到列表url中。
依次提交列表url的每一个元素,并记录返回信息
提交接口url后,再查询sql,查询记录是否存在,结果保存在sqlresult
列表中
获取第六列与第八列的数据,分别保存在列表expect与before 中
将返回信息写入
如果执行SQL后,查无记录,则写入“记录不存在”;反之,写入“记录存在”
判断实际情况
1:如果在提交接口url前,执行sql并查无记录的话,写入“无法删除”(本来就没有那条记录)
2:如果分别在提交接口url前后,执行sql并查有记录的话,写入“无法删除”(执行删除接口后,记录依旧存在,删除功能出bug)
3:提交接口url前,执行sql并查有记录;执行接口url后,执行sql并查无记录的话,写入“成功删除”(删除前,存在记录,删除后,记录不存在)
将预期结果与实际结果对比,如果一致,则“是否一致”项写入“是”;
反之,写“否”
最后将内容另存到新文件
最终结果文件
GET:向指定位置获取资源
格式:http://IP:port/xx?(参数)
编号:用例编号
模块:该接口属于系统的模块项
接口描述:该接口url的作用
接口:提交系统的接口url
参数:接口提交的参数,如果是0,提交时不需要提交参数
描述:该用例的意义
涉及sql语句:能够在数据库查询到对应条件的sql语句
数据库查询总数:执行sql语句后,数据库返回的记录数
实际结果返回:提交接口url后,系统返回的信息
实际查询总数:提交接口所返回的记录数
是否一致:查询数据库的结果与提交接口系统返回的结果对比
略,参考前面
略,参考前面
类sqlHelper_get 的方法getCount,以sql语句为参数进行查询,并返回结果记录数
类getExcelSql 的方法runSql,读取用例文件的指定sql语句列的内容,并存放到列表sql中
实例化类sqlHelper_get,并且以列表sql中的每个元素为参数,调用方法getCount,
每一次调用方法后的返回结果,保存在列表result中
将查询数据库的结果与接口提交参数后系统返回的结果做对比
如果一致,“是否一致”项写“是”,反之,写“否”
最终结果展示