一直在想运用jmeter来实现接口自动化测试,但是每次每个接口执行完,需要肉眼去看一看,执行的结果对不对,总结了两种办法,
一、将每个请求的响应结果,导出到文件
选中请求右键-->添加后置处理器->BeanshellPostprocessor,键入脚本如下:
byte[] responseData = prev.getResponseData().;
private String filePath = "F:/test.txt";BufferedOutputStream bos = null;FileOutputStream fos = null;File file = null;try { File file = new File(filePath); fos = new FileOutputStream(file,true);//不添加参数true,以非追加的方式添加内容 bos = new BufferedOutputStream(fos); bos.write(responseData);} catch (Exception e) { e.printStackTrace();} finally { if (bos != null) { try { bos.close(); } catch (IOException e1) { e1.printStackTrace(); } } if (fos != null) { try { fos.close(); } catch (IOException e1) { e1.printStackTrace(); } }}这样就可以将响应的结果导出到excel或txt文件,然后对文件进行处理,只提取想要的结果信息,如state或者detail,将结果与预期结果对比(java代码可以实现)
二、加断言,选中请求右键-->添加断言,
参数是从参数化文件中读取的,(参数化文件中可以放置参数化测试用例,后面紧跟着预期结果--作为断言的参数)
注:如果要校验请求响应结果中的多个项,可以在一个请求下添加多个断言哦