性能测试教程[7] jmeter接口自动化回归测试
SongTaste 用音乐倾听彼此
假设有一个登陆接口,要定期回归测试以下几个案例:
1.正常登陆
2.密码没填
3.用户名没填
4.账户错误
5.密码错误
可以使用jmeter发起接口测试,并将测试结果写入到excel。定期执行测试脚本,检查执行结果。
第一步
下载jxl.jar
链接:https://pan.baidu.com/s/11LMFAK4lRlh44EHECSSO2A
提取码:414q
将jxl.jar放到jmeter安装目录下的lib\ext目录下
第二步
计划通过beanshell取样器调用java方法实现创建excel文件和写入结果到Excel文件。
故先引入jxl.jar包编写java代码
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.text.SimpleDateFormat;import java.util.Date;import jxl.Cell;import jxl.LabelCell;import jxl.Workbook;import jxl.format.Alignment;import jxl.format.Colour;import jxl.format.VerticalAlignment;import jxl.read.biff.BiffException;import jxl.write.Label;import jxl.write.WritableCellFormat;import jxl.write.WritableFont;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;public class CWOutputFile {/*** wOutputFile写结果文件 wOutputFile(文件路径、用例编号、用例标题、预期结果、实际结果、测试结果)* @throws IOException* @throws BiffException* @throws WriteException*/public void wOutputFile(String filepath,String caseNo,String testPoint,String testData,String preResult,String fresult) throws BiffException, IOException, WriteException{File output=new File(filepath);String result = "";InputStream instream = new FileInputStream(filepath);Workbook readwb = Workbook.getWorkbook(instream);WritableWorkbook wbook = Workbook.createWorkbook(output, readwb); //根据文件创建一个操作对象WritableSheet readsheet = wbook.getSheet(0); //定位到文件的第一个sheet页签int rsRows = readsheet.getRows(); //获取sheet页签的总行数/******************设置字体样式***************************/WritableFont font = new WritableFont(WritableFont.createFont("宋体"),10,WritableFont.NO_BOLD);WritableCellFormat wcf = new WritableCellFormat(font);/****************************************************/Cell cell = readsheet.getCell(0,rsRows); //获取sheet页的单元格if(cell.getContents().equals("")){Label labetest1 = new Label(0,rsRows,caseNo); //第一列:用例编号Label labetest2 = new Label(1,rsRows,testPoint);//第二列:用例标题Label labetest3 = new Label(2,rsRows,testData); //第三列:测试数据Label labetest4 = new Label(3,rsRows,preResult);//第四列:预期结果Label labetest5 = new Label(4,rsRows,fresult); //第五列:实际结果if(preResult.equals(fresult)){result = "通过";wcf.setBackground(Colour.BRIGHT_GREEN); //预期结果和实际结果相同,测试通过}else{result = "不通过";wcf.setBackground(Colour.RED); //预期结果和实际结果不相同,测试不通过}Label labetest6 = new Label(5,rsRows,result,wcf);//第六列:测试结果readsheet.addCell(labetest1);readsheet.addCell(labetest2);readsheet.addCell(labetest3);readsheet.addCell(labetest4);readsheet.addCell(labetest5);readsheet.addCell(labetest6);}wbook.write();wbook.close();}/**cOutputFile 创建输出Excel文件 cOutputFile,tradeType为文件名称前缀,返回结果:文件路径,作为wOutputFile写入结果文件的入参* @throws IOException* @throws WriteException */public String cOutputFile(String tradeType) throws IOException, WriteException{String temp_str = "";Date dt = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");temp_str = sdf.format(dt); //获取时间戳String filepath = "D:\\\\"+tradeType+"_output_" + "_" + temp_str + ".xls";File output = new File(filepath);if(!output.isFile()){//文件不存在,创建新文件output.createNewFile();//写文件WritableWorkbook writeBook = Workbook.createWorkbook(output);WritableSheet sheet = writeBook.createSheet("输出结果", 0); //命名sheetWritableFont headfont = new WritableFont(WritableFont.createFont("宋体"),11,WritableFont.BOLD);//设置首行字体为宋体,11号,加粗WritableCellFormat headwcf = new WritableCellFormat(headfont);headwcf.setBackground(Colour.GRAY_25);sheet.setColumnView(0, 11); //设置列宽sheet.setColumnView(1, 20);sheet.setColumnView(2, 40);sheet.setColumnView(3, 10);sheet.setColumnView(4, 10);sheet.setColumnView(5, 10);headwcf.setAlignment(Alignment.CENTRE); //文字居中headwcf.setVerticalAlignment(VerticalAlignment.CENTRE);Label labe00 = new Label(0,0,"用例编号",headwcf); //写入内容:Label(列号,行号,内容)Label labe10 = new Label(1,0,"用例标题",headwcf);Label labe20 = new Label(2,0,"测试数据",headwcf);Label labe30 = new Label(3,0,"预期结果",headwcf);Label labe40 = new Label(4,0,"实际结果",headwcf);Label labe50 = new Label(5,0,"执行结果",headwcf);sheet.addCell(labe00);sheet.addCell(labe10);sheet.addCell(labe20);sheet.addCell(labe30);sheet.addCell(labe40);sheet.addCell(labe50);writeBook.write();writeBook.close();}return filepath;}}
导出jar包,将CWOutputFile.jar包置于jmeter安装目录下的lib\ext目录下
第三步
准备测试数据和测试案例
第四步
编写测试脚本
第五步
执行脚本
如后续需要自动化定期回归测试,可以设置定时任务运行测试脚本,运行后检查一下excel的执行结果即可。
✩ 本文为古树屋科技频道原创,未经授权不得转载。
推 广
Bash shell教程合集
查询系统shell版本
命令行提示符
进入与退出bash
查看Bash版本
echo命令
命令格式
空格与分号
命令的组合符&&和||
type命令
快捷键
ps :Bash shell教程合集获取请点击原文链接
性能测试教程合集
Loadrunner安装
nmon安装
nmon analyser
Windows性能监视器指标详解
记一次核心系统内部户并发开户的测试
使用jmeter造数(oracle篇)
jmeter接口自动化回归测试
To be continued ......
