package day01;
import java.awt.Color;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
import jxl.Workbook;
import jxl.write.Colour;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import pairwisetesting.PairwiseTestingToolkit;
import pairwisetesting.coredomain.Factor;
import pairwisetesting.coredomain.IMetaParameterProvider;
import pairwisetesting.coredomain.MetaParameter;
import pairwisetesting.engine.am.AMEngine;
import pairwisetesting.testcasesgenerator.TXTTestCasesGenerator;
public class ZhengjiaoDemo {
public static void main(String[] args) throws Exception {
PairwiseTestingToolkit toolkit = new PairwiseTestingToolkit();
//json格式入参
String jsonstr="[{\"describe\":\"logintype\",\"value\":[\"weibo\",\"kong\",\"qq\",\"weibo1\",\"weibo2\",\"weibo3\"]},{\"describe\":\"username\",\"value\": [\"hehe\",\"hhhhh\",\"wode\",\"weibo1\",\"weibo2\",\"weibo3\"]},{\"describe\":\"hhhh\",\"value\": [\"weibo\",\"kong\",\"qq\",\"weibo1\",\"weibo2\",\"weibo3\"]}]";
System.out.println(jsonstr);
toolkit.setMetaParameterProvider(new IMetaParameterProvider() {//设置元参数提供者
public MetaParameter get() {
JSONArray jsonarr=JSONArray.fromObject(jsonstr);
ArrayList list=new ArrayList();
for(int i=0;i
list.add(i, (JSONObject) jsonarr.get(i));
}
Map ZhengjiaoMap=new LinkedHashMap();//LinkedHashMap可以保持插入顺序遍历,hashmap不行
for(int j=0;j
ZhengjiaoMap.put(list.get(j).getString("describe"), (JSONArray)list.get(j).get("value"));
}//转为map<因素,[水平,水平...]>形式
MetaParameter mp = new MetaParameter();//强度为2
Set keys=ZhengjiaoMap.entrySet();
Iterator iter = keys.iterator();
while (iter.hasNext())
{
Map.Entry e=(Entry) iter.next();
Factor f=new Factor(e.getKey().toString());
for(int x=0;x
f.addLevel((String) ZhengjiaoMap.get(e.getKey()).get(x));
}
mp.addFactor(f);
}
return mp;
}
});
toolkit.setEngine(new AMEngine());
toolkit.setTestCasesGenerator(new TXTTestCasesGenerator());
System.out.println(toolkit.generateTestCases());
System.out.println(toolkit.generateTestData());
File file=new File("/Users/yangjunchao/Desktop/json.txt");
if(!file.exists()){
file.createNewFile();
}
Scanner scan = new Scanner(file);
PrintWriter pfp= new PrintWriter(file);
pfp.print(toolkit.generateTestCases());
pfp.close();
//将正交表转出到txt文件
/*
* 将因素数用list显示
*/
JSONArray ja = JSONArray.fromObject(jsonstr);
ArrayList listobj=new ArrayList();
for(int i=0;i
listobj.add(i, (JSONObject) ja.get(i));
}
ArrayList list_describe=new ArrayList ();
for(int b=0;b
list_describe.add(b, listobj.get(b).getString("describe"));
}
System.out.println(list_describe);
JSONArray jsonarray =new JSONArray();
JSONObject jsonobject=new JSONObject();
for(int casenum=0 ; casenum
for(int yinsunum=0;yinsunum
jsonobject.put(list_describe.get(yinsunum),toolkit.generateTestData()[casenum][yinsunum] );
}
jsonarray.add(jsonobject);
jsonobject.clear();
}
System.out.println(jsonarray.toString());
/*
* 输出正交表
*/
for(int i=0;i
{
for(int k=0;k
{
System.out.print(toolkit.generateTestData()[i][k]+" ");
}
System.out.println();
}
//List li = Arrays.asList(new Integer[]{1,0,1,0,1,1,1,1,0,});
/*
* 将测试用例写入excel,pass绿色,fail红色
*
*/
File fileexl = new File("/Users/yangjunchao/Desktop/ceshi.xls");
FileOutputStream os=new FileOutputStream(fileexl);
WritableWorkbook workbook = Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet("First Sheet",0);
// for(int c=0;c
// Color color = Color.decode("#EEA9B8");
// WritableCellFormat wcf1 = new WritableCellFormat();
// if(li.get(c)==1){
// wcf1.setBackground(Colour.GREEN);
// sheet.addCell(new Label(list_describe.size(), c+1, null, wcf1));
// }
// else{
// wcf1.setBackground(Colour.RED);
// sheet.addCell(new Label(list_describe.size(), c+1, null, wcf1));
// }
// }
// Color color = Color.decode("#EEA9B8");
// // workbook.setColourRGB(Colour.BLUE, color.getRed(), color.getGreen(),color.getBlue() );
// WritableCellFormat wcf1 = new WritableCellFormat();
// wcf1.setBackground(Colour.GREEN);
// sheet.addCell(new Label(4, 5, null, wcf1));
for(int q=0;q
Label label = new Label(q,0,list_describe.get(q));
sheet.addCell(label);
}
for(int casenumber=0;casenumber
for(int yinsunumber=0;yinsunumber
Label label = new Label(yinsunumber,casenumber+1,toolkit.generateTestData()[casenumber][yinsunumber]);
sheet.addCell(label);
}
}
workbook.write();
workbook.close();
os.close();
}
}
网友评论