Selenium Webdriver实现BKredcoil website 自动登录测试、Single Sign On(TestNG+ANT+Excel数据驱动)

目标实现:

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 {
		
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值