目标实现:
1.自动登录测试帐号
2.自动进行Single Sign On登录测试
3.登录失败的能够截图保存
4.测试报告中能够详尽展出测试数据以及测试结果
一、项目结构:
(1)base包:用来存放元素对象,将测试的元素对象插入数据库中保存,好用来做为测试用例维护。
ObjectTest.java
package com.annie.base;
import java.util.Date;
public class ObjectTest {
private int id;
private String website;
private String page;
private String area;
private String object_type;
private String object_key_type;
private String object_pagename;
private String object_key;
private String description;
private String status;
private Date createtime;
private String createuser;
private Date updatetime;
private String updateuser;
private Date deletetime;
private String deleteuser;
//后面省去get/set方法
}
(2)util包:用来存放工具类,比如ExelData这样的工具类
(注意1.exel测试数据文档的路径;2.exel测试数据文档名;3.exel测试数据文档的testcase名,即sheet名)
package com.annie.util;
import java.io.File;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import java.util.regex.Matcher;
import jxl.*;
public class ExcelData implements Iterator<Object[]> {
private Workbook book = null;
private Sheet sheet = null;
private int rowNum = 0;
private int curRowNo = 0;
private int columnNum = 0;
private String[] columnnName;
public ExcelData(String filepath, String casename) {
try {
File directory = new File(".");
String ss = "open.anniewang.exceldata.";
book = Workbook.getWorkbook(new File(directory.getCanonicalPath()
+ "\\resources\\"
+ ss.replaceAll("\\.", Matcher.quoteReplacement("\\"))
+ filepath + ".xls"));
this.sheet = book.getSheet(casename);
this.rowNum = sheet.getRows();
Cell[] c = sheet.getRow(0);
this.columnNum = c.length;
columnnName = new String[c.length];
for (int i = 0; i < c.length; i++) {
columnnName[i] = c[i].getContents().toString();
}
this.curRowNo++;
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean hasNext() {
if (this.rowNum == 0 || this.curRowNo >= this.rowNum) {
try {
book.close();
} catch (Exception e) {
e.printStackTrace();
}
return false;
} else
return true;
}
@Override
public Object[] next() {
Cell[] c = sheet.getRow(this.curRowNo);
Map<String, String> s = new TreeMap<String, String>();
for (int i = 0; i < this.columnNum; i++) {
String temp = "";
try {