selenium excel java_java+selenium+testNG+excel 实现 web 网页的自动化测试

本文介绍了如何使用Java、Selenium、TestNG和Excel结合进行Web网页的自动化测试。通过读取Excel文件中的测试数据,执行相应的测试步骤,包括输入值、点击操作和数据库校验,并将测试结果回写到Excel,实现了测试流程的自动化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**设定测试轮次**/

public static voidmain() {try{for(k=0;k

File file= new File("e:\\data.xls"); //采用的是jxl.jar读取写入表格方式

InputStream in = new FileInputStream(file); //新建一可读取本地内容的文件

Workbook workbook = null;

workbook= Workbook.getWorkbook(in); //获取本地可读取的文件

mWorkBook =workbook;

getExcel();

Sheet1DataList.clear();/**获取cookies**/

for(Cookie ck : driver.manage().getCookies()) {

String CK= ck.getName() + "=" + ck.getValue() + ";";

System.out.println("cookie:" +CK);//sendGet(CK);

}

}

}2. 从excel获取webdriver关键字以及相关测试用例数据private static voidgetExcel() {try{

getTestSettingFromSheet1();

getDataFromSheet2();

Thread.sleep(1000);

sqlDriver.findElement(By.name("auth[password]")).sendKeys("test@628");;

sqlDriver.findElement(By.cssSelector("#content > form > p > input[type='submit']")).click();

sql= sqlDriver.findElement(By.tagName("pre"));if(Sheet0MethodList.size() !=Sheet0ItemList.size()){

System.out.println("Input Sheet Value Wrong!!!!Please Check Your Sheet");

}for(int listId=0;listId

System.out.println("Sheet0ActionList.size:" +Sheet0ActionList.size());

System.out.println("OK,Begin Commit!!!");

Thread.sleep(500);if(Sheet0PlatList.get(listId).equals("后台"))

driver=backDriver;

loginBtn=getMethods(Sheet0MethodList.get(listId),Sheet0ItemList.get(listId),driver);

String strCmd=Sheet0CheckList.get(listId);

String strAct=Sheet0ActionList.get(listId);

getAssert(strAct,strCmd,listId);//InputCmdId++;

}

}3.将测试结果保存到excel中private static void getAssert(String getStrAct,String getStrCmd,intgetListId){try{

Workbook wb=Workbook.getWorkbook(new File("e:\\data.xls")); //获取本地路径的excel文件

WritableWorkbook book= Workbook.createWorkbook(new File("e:\\data.xls"),wb); //将本地已存在的可读文件转成可写文件

WritableSheet sheet0_1=book.getSheet(0);if(getStrAct.equals("frame")){

Thread.sleep(1000);

driver.switchTo().frame(loginBtn);

}if(getStrAct.equals("back"))

driver.navigate().back();if(getStrCmd.equals("输入值获取")){

Thread.sleep(1000);

String text=Sheet1DataList.get(getInputCmdId);

System.out.println("SenKeys:"+text);

loginBtn.sendKeys(text);

Thread.sleep(1000);if(loginBtn.getAttribute("value").equals(text)){

System.out.println("成功numTotal :" +numTotal);

sheet0_1.addCell(new Label(10+numTotal+k,getListId+1,"true"));

Cell AI= sheet0_1.getCell(10+numTotal+k,getListId+1);

String strAI=AI.getContents();

System.out.println(">>>>>>>>>>>>" +strAI);

}else{

System.out.println("失败 numTotal:" +numTotal);

sheet0_1.addCell(new Label(10+numTotal+k,getListId+1,"false"));

}

getInputCmdId++;

}if(getStrCmd.equals("文本校验")){

loginBtn.click();

Thread.sleep(1000);

isContentAppeared(driver,Sheet0ReseltList.get(clickId));

System.out.println("status:" +status);

String clickResult=String.valueOf(status);

sheet0_1.addCell(new Label(10+numTotal+k,getListId+1,clickResult));

clickId++;

}if(getStrCmd.equals("数据库校验")){

String currentUrl=driver.getCurrentUrl();

System.out.println("当前页面url---:" +currentUrl);

String[] urlList= currentUrl.split("\\/");

String[] urlArry= urlList[urlList.length-1].split("\\.");

String orderId= urlArry[0];

System.out.println("订单ID号:" +orderId);

sql.clear();

sql.sendKeys("select * from order_info where order_id = " +orderId);

sqlDriver.findElement(By.cssSelector("#form > p:nth-child(2) > input[type='submit']:nth-child(1)")).click();

String sqlStr= "无数据";

isContentAppeared(sqlDriver,sqlStr);

System.out.println("status:" +status);

String clickResult=String.valueOf(status);if(clickResult.equals("false")){

clickResult= "true";

}else{

clickResult= "false";

}

sheet0_1.addCell(new Label(10+numTotal+k,getListId+1,clickResult));

Thread.sleep(1000);

loginBtn.click();//clickId++;

}

book.write();

book.close();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值